フォームやレポート上に設置されているコントロールの種類を取得(参照)する主な方法として、TypeName関数を用いる方法とコントロールのControlTypeプロパティを用いる方法があります。
以下では取得の例と値の一覧を示します。
値の取得例
フォーム上にテキストボックス(名前は「テキスト1」)を置き、フォームモジュールに次のように記します。
テキスト1をクリックすると、テキスト1をTypeName関数で評価した戻り値と、テキスト1のControlTypeプロパティの値を表示するというものです。
Private Sub テキスト1_Click() MsgBox TypeName(Me.テキスト1) & " / " & Me.テキスト1.ControlType End Sub
クリックしたところです。
TypeName関数の戻り値は「TextBox」、ControlTypeプロパティの値は「109」であることがわかります。
TypeName関数及びControlTypeプロパティの値一覧
各コントロールに対するTypeName関数の戻り値及びControlTypeプロパティの値は次のようになります。
TypeName関数の戻り値の頭に「ac」をつければControlTypeプロパティの組み込み定数表現になると考えてほぼ間違いありませんが、タブコントロールのように微妙に異なるものもあります。
また、従来のグラフ(「コントロール」メニューから貼り付けるもの)についてはTypeName関数の戻り値がObjectFrame(連結オブジェクトフレームと同じ)となる一方、ControlTypeの数値は連結オブジェクトフレームと異なるものとなります。組み込み定数表現は未確認です。
コントロールの種類 | TypeName関数 戻り値 | ControlType プロパティ(定数) | ControlType プロパティ(数値) |
---|---|---|---|
テキストボックス | TextBox | acTextBox | 109 |
ラベル | Label | acLabel | 100 |
コマンドボタン | CommandButton | acCommandButton | 104 |
タブ | TabControl | acTabCtl | 123 |
ページ(タブの各ページ) | Page | acPage | 124 |
リンク (※設置するとラベルそのものですので値はラベルと同じです) | Label | acLabel | 100 |
Webブラウザー | WebBrowserControl | acWebBrowser | 128 |
移動コントロール(ナビゲーションのコントロール内) | NavigationControl | acNavigationControl | 129 |
移動ボタン(ナビゲーションのコントロール内) | NavigationButton | acNavigationButton | 130 |
ナビゲーションサブフォーム(ナビゲーションのコントロール内) (※設置するとサブフォームそのものですので値はサブフォームと同じです) | SubForm | acSubform | 112 |
フレーム(オプショングループのフレーム) | OptionGroup | acOptionGroup | 107 |
改ページ | PageBreak | acPageBreak | 118 |
コンボボックス | ComboBox | acComboBox | 111 |
直線 | Line | acLine | 102 |
トグルボタン | ToggleButton | acToggleButton | 122 |
リストボックス | ListBox | acListBox | 110 |
四角形 | Rectangle | acRectangle | 101 |
チェックボックス | CheckBox | acCheckBox | 106 |
非連結オブジェクトフレーム | ObjectFrame | acObjectFrame | 114 |
添付ファイル | Attachment | acAttachment | 126 |
オプションボタン | OptionButton | acOptionButton | 105 |
サブフォーム(及びサブレポート) | SubForm | acSubform | 112 |
連結オブジェクトフレーム | BoundObjectFrame | acBoundObjectFrame | 108 |
イメージ | Image | acImage | 103 |
グラフ(コントロールメニューから貼り付ける従来のグラフ) | ObjectFrame | (未確認) | 113 |
グラフ(グラフの挿入コマンドで作成する新しいグラフ) | Chart | acChart | 133 |
ActiveXコントロール | CustomControl | acCustomControl | 119 |