●概要●
構文 expression.Controls 取得のみ
設定項目 内容
expression Form,SubForm,Section,OptionGroup,Pageオブジェクト
[省略可能]
指定したオブジェクトに含まれるコントロールを含むControlsコレクションを参照します。
は、フォームモジュールで使用する場合のみ省略可能です。省略した場合、自身のFormオブジェクトを指定したことになります。
Controlsコレクションを利用すると、コントロール名を意識することなく、フォーム上のすべてのコントロールを参照することができるので便利です。
次のコードは、フォーム上のすべてのテキストボックスの入力値を削除するものです。For Each...Nextステートメントを利用して、フォーム上のコントロールを列挙し、そのうちTextBoxオブジェクトだけをIfステートメントで判別しています。
●サンプル●
'フォーム上のコントロールを参照する
Private Sub cmdクリア_Click()
Dim myCtrl As Control
'コントロールを1つずつ参照
For Each myCtrl In Me.Controls
'テキストボックスだけを判別
If myCtrl.ControlType = acTextBox Then
myCtrl = ""
End If
Next
End Sub
●補足●
テキストボックスやチェックボックスなどのControlオブジェクトにも、Controlsコレクションがあります。この場合、Controlオブジェクトに付属するラベルなどを参照します。