2
我正在嘗試創建一個工作表,該工作表創建一個將用於初始化實例化類的值的值列表。如何爲VBA中的運行時提供屬性名稱的屬性賦值?
例如,我可以在我的初始化工作如下:
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
是否有使用字符串在運行時指定屬性的名稱,而不是在代碼中明確指定的方法嗎?
這種支持讓屬性分配偉大的工作。現在我試圖弄清楚如何使它對尚未實例化的對象的Set屬性起作用。另一個SO問題。 – 2009-11-16 23:00:35
你肯定需要一個實際的對象實例來使用CallByName()。 – jtolle 2009-11-16 23:15:36