3
我已經爲Excel編寫了一個XLA加載項。這個插件包含一個類模塊。我想知道如何公開這個類模塊以供使用。我搜索了一下,發現了一種用Visual Studio做的方法,但很遺憾我沒有Visual Studio。有沒有什麼方法可以從XLA中做到這一點?在Excel中公開類XLA加載項
我已經爲Excel編寫了一個XLA加載項。這個插件包含一個類模塊。我想知道如何公開這個類模塊以供使用。我搜索了一下,發現了一種用Visual Studio做的方法,但很遺憾我沒有Visual Studio。有沒有什麼方法可以從XLA中做到這一點?在Excel中公開類XLA加載項
您可以在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。
+1像往常一樣轟炸目標:) – 2012-04-05 14:08:06
+1上的解決方案。我喜歡將所有實例創建函數封裝在工廠類模塊中(在示例中,將使用公共不可創建設置在Book2 XLA中創建)。然後,您只需在標準模塊中創建一個創建方法即可創建工廠實例,供客戶端使用。這也允許客戶端使用Intellisense查看工廠對象中所有可用的實例化方法。 – 2017-06-19 17:07:08