0

VBA でオブジェクトのコレクションを作成しましたが、各オブジェクトには一意の ID があります。VBA の組み込み関数であるコレクション内の「アイテム」にアクセスできることを理解しています。オブジェクトの ID にアクセスする方法はありますか? (ループの設定方法がわかりません..

現在、私は次のようなことをしています:

For each objectName in CollectionName

objectName.Item(index)

Next objectName

これはコレクションのアイテムにアクセスするための正しい構文ですが、コレクションを詳しく調べてオブジェクト/アイテムの ID を取得することができません...これは可能ですか?

参考までに、オブジェクトの ID は mID として設定され、整数です。

4

1 に答える 1

1

残念ながら、このCollectionクラスは ID の反復子を提供していません。:-(

これが必要な場合は、Dictionary代わりにオブジェクトを使用してください! これは「Microsoft Scripting Runtime」([ツール] -> [参照] で選択) の一部であり、コレクションのように機能しますが、多くの追加機能があります。

次に例を示します。

Public Sub TestDictionary()
    新しいディクショナリとして Dim dict
    Dim var As Variant

    dict.Add "Key1", 1
    dict.Add 2、「項目 2」
    dict.Add "Another key", "blabla"

    For Each var In dict.Keys
        Debug.Print var, dict(var)
    次の変数
サブ終了
于 2013-02-06T15:19:16.217 に答える