0
我有一個在工作簿中定義的類,並且已經安裝了一個加載項。我想從插件中的模塊中創建該類的實例,而不需要從Tools/References中連接兩個模塊。我想純粹用VBA做到這一點,無論如何要做到這一點?實例化一個位於XLA加載項工作簿中的類
我有一個在工作簿中定義的類,並且已經安裝了一個加載項。我想從插件中的模塊中創建該類的實例,而不需要從Tools/References中連接兩個模塊。我想純粹用VBA做到這一點,無論如何要做到這一點?實例化一個位於XLA加載項工作簿中的類
在您的WB中創建一個函數,它返回該類的一個實例,並使用加載項中的Application.Run來調用它。
簡單的例子:
ObjectSource.xlsm
類模塊另clsTest:
Public MyNumber As Long
Private Sub Class_Initialize()
MyNumber = 999
End Sub
常規模塊:
Public Function GetObject() As Object
Set GetObject = New clsTest
End Function
其他工作簿
Sub Tester()
Dim obj
Set obj = Application.Run("ObjectSource.xlsm!GetObject")
MsgBox obj.MyNumber ''>> 999
End Sub
謝謝蒂姆,這回答了我的問題,只是Application.Run語法應該是:Set obj = Application.Run(「'ObjectSource.xlsm'! GetObject的「) – Ibo
問題是你如何去定義外接模塊類對象?我嘗試DIM obj作爲VBProjectName.clsMyClass,但它不起作用。請記住,我必須以編程方式提取VBProject對象。 – Ibo
蒂姆解決了它:訣竅是做DIM OBJ而不是DIM OBJ作爲clsMyClass等 – Ibo