有没有办法在VBA的运行时匹配类属性?

时间:2019-06-27 11:09:18

标签: excel vba class

我试图在运行时将一个类的获取属性与另一个类的相同属性进行匹配。经过一番研究,我发现.net中存在诸如“ Reflection”之类的东西,但是Im仅使用VBA。仅出于背景考虑:我正在使用此代码使应用程序自动化,因此某些对象公开了,而另一些则没有。

我当前的操作方式是使用获得的类“ Description”的属性,并使用该属性在目标类中搜索相同的属性。

Set TargetVar = hySetOperations.Item(j).TargetVariable 'This is a RealVariable a property that refers to a class
Set SourceObj =hySetOperations.Item(j).SourceObject  'This is also a RealVariable
'In order to import variable from source object, we r gonna use TargetVariable description and truncate space, and use it (This might not work if description
'is different than actual name of the variable)
Dim RealVarString As String
RealVarString = TargetVar.Description
'Trim spaces
RealVarString = Replace (RealVarString, " ", "")
Set SourceVar = CallByName ( SourceObj, RealVarString, vbGet)

这实际上适用于大多数情况,因为“描述”通常与属性名称相同,但带有空格。但是,在某些情况下,情况并非如此。

0 个答案:

没有答案