我正在尝试创建一个工作表,该工作表创建一个值列表,用于初始化实例化类的值。
例如,我的初始化工作表中可能有以下内容:
Property Name Value
StartingCol A
StartingRow 11
然后,我将创建一个类来解析此工作表并为我提供一个可用于初始化实例化对象的属性的 enumberable。但是,我不确定如何在运行时使用字符串指定属性值,而不是在代码中明确指定它。您可以在下面的代码中了解我要完成的工作:
Sub test_PropertyAssignment()
Dim sp As SheetParser
Dim strFieldName As String
Dim strFieldNameValue As String
Set sp = New SheetParser
'The property name is supplied explicitly'
sp.StartingCol = "B"
strFieldName = "StartingCol"
strFieldNameValue = "B"
sp.[how can I supply strFieldName to specify the property?] = strFieldNameValue 'Will not Work'
End Sub
有没有办法在运行时使用字符串来指定属性名称,而不是在代码中明确指定?
最佳答案
查找 CallByName
VBA 帮助中的函数。
您应该能够执行以下操作:
Call CallByName(sp,strFieldName,vbLet,strFieldNameValue)
关于vba - 如何为在 VBA 中运行时提供属性名称的属性赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744216/