对象集合(VBA)中对象的访问ID

时间:2013-02-06 15:05:26

标签: excel vba

我在VBA中创建了一个对象集合,每个对象都有一个唯一的ID。我知道我可以访问集合中的“项目”,这是VBA的内置功能。有没有办法可以访问对象的id? (我不确定如何设置循环..

目前我正在做类似的事情:

For each objectName in CollectionName

objectName.Item(index)

Next objectName

这是访问集合项目的正确语法,但我无法深入研究集合以获取对象的/项目ID ...这可能吗?

fyi,对象的id设置为mID并且是一个整数。

1 个答案:

答案 0 :(得分:1)

不幸的是,Collection类没有为ID提供迭代器。 : - (

如果您需要,请改用Dictionary对象!它是“Microsoft Scripting Runtime”的一部分(将在Tools-> References中选择) - 并且像Collection一样工作 - 但具有许多附加功能。

以下是一个例子:

Public Sub TestDictionary()
    Dim dict As New Dictionary
    Dim var As Variant

    dict.Add "Key1", 1
    dict.Add 2, "Item 2"
    dict.Add "Another key", "blabla"

    For Each var In dict.Keys
        Debug.Print var, dict(var)
    Next var
End Sub