vba - 如何为在 VBA 中运行时提供属性名称的属性赋值?

标签 vba excel

我正在尝试创建一个工作表,该工作表创建一个值列表,用于初始化实例化类的值。

例如,我的初始化工作表中可能有以下内容:

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/

相关文章:

vba - 根据条件删除单元格

excel - 如何控制从 MS Access 到 Excel 的输出

VBA Excel - 按昨天日期定义范围

excel - 获取从今天开始的月份和年份

vba - 从另一个工作簿中的范围更改多个工作表中单元格的值

vba - 在excel vba的第一个空列中复制粘贴范围

excel - dir函数在excel vba中找到xls而不是xlsx

excel - IF 条件 - 连接多个列

java - 通过 apache poi 读取 excel 文件(位于类路径中)

excel - 使用 VBA 将带有数据的 Excel 图表粘贴到 PowerPoint 中