0

我需要通过我的 VBA 代码调用第三方 XL A插件提供的方法。

已经有使用加载的XL L插件执行此操作的答案,但目的是直接调用该方法。

4

1 回答 1

1

根据e.James对调用 XLL 加载项的回答,我找到了在加载项尚未加载时使用的正确格式。您可以使用Application.Run以下方式调用.xla 插件中的方法:

如果我们假设 .xla 文件的路径是C:\Program Files\example.xla并且我们要调用的方法需要ExampleMethod一个整数参数,那么调用将如下所示:

' Method call without return value
Private Sub XLAExample()
    Application.Run "'C:\Program Files\example.xla'!ExampleMethod", 10
End Sub

' Method call with return value (check if you can declare correct type for return value!)
Private Function XLAExample() As Variant
    XLAExample = Application.Run("'C:\Program Files\example.xla'!ExampleMethod", 10)
End Sub

所以你需要构造一个形式的字符串

"'<ADDIN_PATH>'!<METHOD_NAME>"

进行通话,然后仅附加所有需要的参数,例如

Application.Run <PATH_AND_METHOD>, <PARAMETER_1>, <PARAMETER_2>, ...


不幸的是,我发现CubeChase 的答案直接像 API 调用一样声明该方法不适用于我的特定 .xla 文件,可能需要加载它才能工作。

于 2018-03-21T09:09:31.103 回答