我已经为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。

10-06 16:07