实例化位于XLA加载项工作簿中的类

时间:2016-11-09 23:17:49

标签: excel vba class

我有一个我在工作簿中定义的类,我已经安装了一个加载项。我想从加载项中的模块内部创建该类的实例,而不从工具/引用中连接两个。我想纯粹用VBA做这件事,无论如何要做到这一点吗?

1 个答案:

答案 0 :(得分: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