首页 > 解决方案 > VBA:使用变量引用定义的数据类型元素

问题描述

我正在尝试使用变量引用用户定义类型的元素...

Type pTest
  Name As String
  Age As Double
End Type

Global Test(2) As pTest

Sub ArrayRef()

 A$ = "Name"

 Debug.Print Test(0).A$

End Sub

我想答案很简单,但我似乎找不到。请问有什么帮助吗?

标签: vba

解决方案


你的意思更像是什么?

Option Explicit

Type pTest
  Name As String
  Age As Double
End Type

Global Test(2) As pTest

Public Sub ArrayRef()
 Dim a$
 a$ = "Name"
 Test(0).Name = a$
 Debug.Print Test(0).Name
End Sub

如果您尝试使用字符串变量作为属性参数,则与类一起使用的替代方法是:

CallByName(Test(0), a$, VbGet)

由于 Test(0) 不是对象,这将不起作用。而且我认为您不能传递用户定义的类型。


推荐阅读