我在VBA中创建了一个对象集合,每个对象都有一个唯一的ID。我知道我可以访问集合中的“项目”,这是VBA的内置功能。有没有办法可以访问对象的id? (我不确定如何设置循环..
目前我正在做类似的事情:
For each objectName in CollectionName
objectName.Item(index)
Next objectName
这是访问集合项目的正确语法,但我无法深入研究集合以获取对象的/项目ID ...这可能吗?
fyi,对象的id设置为mID并且是一个整数。
答案 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