【发布时间】:2018-05-21 16:08:14
【问题描述】:
我无法弄清楚如何使用 VBA 访问数组中的对象属性。我创建了一个数组,如:
Dim objectArray(10) as Variant
Dim counter as Integer 'used to move to next element in array
接下来,我声明了一个对象并将其存储在数组中:
Dim object as Variant
objectArray(0) = object 'object stored in array[0]
counter = counter + 1 'increment counter
我想将数组传递给函数。
Call function(objectArray())
该函数接收对象数组,例如:
Public function(objectArray() as Variant)
到目前为止,当我调试它时,它似乎已经工作了。我的 objectArray() 似乎包含该对象。当我在数组中存储一个对象时,调试器显示
objectArray(0)(1,1) .... 'this is in the Watch section of the debugger
我想在数组的第一个位置访问该对象的属性。该对象将包含一个名称、几个值和一个日期。我一直在尝试访问该对象的属性,例如
Dim separateVar as Variant 'declare new var to hold "name"
separateVar = objectArray(0)(1,1).Value
但是,当我运行宏时,我得到“发生一些错误,13,类型不匹配”。我是否错误地访问了对象属性值?
任何帮助将不胜感激。查找有关访问对象的文章很容易,但查找有关访问其各个属性的文章非常困难。
【问题讨论】:
-
objectArray(0).Value -
您在对象分配中缺少
Set。你这里说的是对象还是数组?
标签: arrays vba function object properties