0

我正在编写一些 VBA 代码来动态定位表单上的某些元素。我想做的是创建一个对 1​​1 行标签和文本框对象的引用的二维数组,然后逐步遍历数组并根据上述行的属性不同地定位每个“行”。

不幸的是,我似乎找不到存储参考的方法!以下代码产生错误:“对象不支持此属性或方法”

Dim fields(10,10) 
fields(0,0) = txtFirstName

如果我像这样将一个对象分配给一个变量

Dim field 
field = txtFirstName
MsgBox field.Top

然后我没有从分配中收到错误消息,但是对 field.Top 的引用给了我错误“需要对象”。

拜托,我在这里做错了什么。我是堆栈溢出和 VBA 编码的新手,所以如果这是一个简单的解决方案,请原谅我,但我已经利用了我的 google-fu,但我只是没有找到解决方案。非常感谢任何可以提供帮助的人。

4

1 回答 1

3

您需要添加 Set 关键字,因为您正在处理对象引用。

Set fields(0,0) = txtFirstName

您收到错误的原因是因为 VBA 将默认为文本框的文本属性,为您提供字符串而不是文本框对象。

于 2013-05-03T16:44:34.857 回答