2016-11-09 15 views
0

我有一個在工作簿中定義的類,並且已經安裝了一個加載項。我想從插件中的模塊中創建該類的實例,而不需要從Tools/References中連接兩個模塊。我想純粹用VBA做到這一點,無論如何要做到這一點?實例化一個位於XLA加載項工作簿中的類

+0

問題是你如何去定義外接模塊類對象?我嘗試DIM obj作爲VBProjectName.clsMyClass,但它不起作用。請記住,我必須以編程方式提取VBProject對象。 – Ibo

+0

蒂姆解決了它:訣竅是做DIM OBJ而不是DIM OBJ作爲clsMyClass等 – Ibo

回答

0

在您的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 
+0

謝謝蒂姆,這回答了我的問題,只是Application.Run語法應該是:Set obj = Application.Run(「'ObjectSource.xlsm'! GetObject的「) – Ibo

相關問題