HOME > 即効テクニック > AccessVBA > コントロール > コントロールを初期化する(Collectionオブジェクト)

即効テクニック

コントロール

コントロールを初期化する(Collectionオブジェクト)

(Access 97)
フォームに配置されている複数のコントロールを初期化する場合は、複数の要素の集合体を1つのオブジェクトとして参照できるCollectionオブジェクトを利用すると、モジュールがコンパクトでスマートなものになります。
次のサンプルでは、フォームに配置されているテキストボックスの値と表示/非表示の切り替えを、フォームを表示する時に発生するイベント「Load」でCollectionオブジェクトを利用して設定しています。
フォームには、「テキスト0」〜「テキスト3」の4つのテキストボックスが配置されています。
フォームが表示されると、「テキスト0」「テキスト1」「テキスト3」には変数iの値が表示され、「テキスト2」は非表示になります。

Private Sub Form_Load()
    Dim myCollection As New Collection
    Dim i            As Integer
    
    With myCollection
        .Add テキスト0
        .Add テキスト1
        .Add テキスト2
        .Add テキスト3
    End With

    For i = 1 To 4
        If i = 3 Then
            myCollection(i).Visible = False
        Else
            myCollection(i) = i
        End If
    Next

End Sub

Collectionオブジェクトは、他のオブジェクトと同じ方法で作成できます。
宣言は次のように記述します。

Dim myCollection  As New Collection

作成したCollectionオブジェクトにメンバを追加するときにはAddメソッドを使います。