我已经为Excel编写了XLA加载项。该插件包含一个类模块。我想知道如何公开该类模块以供使用。我四处搜寻并找到了一种使用Visual Studio的方法,但可惜我没有Visual Studio。有什么方法可以仅通过XLA做到这一点吗?
最佳答案
您可以在XLA中创建一个公共函数,该函数返回该类的实例。然后,任何引用XLA的工作簿都可以调用该函数。假定您有Book2,其中包含要使用Class1的Class1和Book3。将Class1实例属性更改为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具有一个称为prop的属性。 Book2的VBProject名称已更改为Book2Project。