2012-04-04 49 views
3

我已經爲Excel編寫了一個XLA加載項。這個插件包含一個類模塊。我想知道如何公開這個類模塊以供使用。我搜索了一下,發現了一種用Visual Studio做的方法,但很遺憾我沒有Visual Studio。有沒有什麼方法可以從XLA中做到這一點?在Excel中公開類XLA加載項

回答

6

您可以在XLA中創建一個返回該類的實例的公共函數。然後,任何具有對XLA的引用的工作簿都可以調用該函數。假設您的Book2包含Class1和Book3,並且您想使用Class1。將Class1 Instancing屬性更改爲Public Not Creatable(在類模塊中時爲F4)。

在Book2標準模塊中創建函數

Public Function InstantiateClass1() As Class1 

    Set InstantiateClass1 = New Class1 

End Function 

在BOOK3,調用函數

Public Sub DoStuff() 

    Dim clsClass1 As Book2Project.Class1 

    Set clsClass1 = instantiateclass1 

    clsClass1.prop = "something" 

    Debug.Print clsClass1.prop 

End Sub 

Class1的具有稱爲支柱在該例子中一個屬性。 Book2的VBProject名稱已更改爲Book2Project。

+0

+1像往常一樣轟炸目標:) – 2012-04-05 14:08:06

+0

+1上的解決方案。我喜歡將所有實例創建函數封裝在工廠類模塊中(在示例中,將使用公共不可創建設置在Book2 XLA中創建)。然後,您只需在標準模塊中創建一個創建方法即可創建工廠實例,供客戶端使用。這也允許客戶端使用Intellisense查看工廠對象中所有可用的實例化方法。 – 2017-06-19 17:07:08

相關問題