フォームに配置されたコントロール名を全て取得する(For Each...Next ステートメントとControlsコレクション)
 フォームに配置された全てのコントロールに対する操作やコントロールの数の取得、
プロパティの設定/取得に使用できるControlsコレクションと、For Each...Next
ステートメントを使って、コントロール名を取得します。
 フォームに複数のコントロールとコマンドボタン「CommandButton1」を配置して、
コマンドボタンがクリックされた時に発生するイベント「Click」に次のプロシージャを
作成してください。
 「"フォームに配置されている全てのコントロール名"」という文字列と、全ての
コントロールの名前に連番が振られたメッセージボックスが表示されます。

Private Sub CommandButton1_Click()

    Dim MyControl As Control
    Dim AllName   As String
    Dim i         As Integer

    AllName = "フォームに配置されている全てのコントロール名" & Chr(13)

    For Each MyControl In Controls
        i = i + 1
        AllName = AllName & Chr(13) & _
                  i & ":MyControl.Name = " & MyControl.Name
    Next

    MsgBox AllName

End Sub

【メッセージボックスに表示される例】

フォームに配置されている全てのコントロール名

1:MyControl.Name = Image1
2:MyControl.Name = TextBox1
3:MyControl.Name = TextBox2
4:MyControl.Name = CommandButton1


 「MsgBox AllName」を「Debug.Print AllName」にすると、イミディエイトウィンドウ
に出力されます。

Excel97/2000



戻る


Excel Word Access VBA! モーグ