未加载加载项时调用XLA加载项方法(函数/子)

时间:2018-03-21 09:09:31

标签: excel vba excel-vba xla

我需要通过我的VBA代码调用由第三方XL A 加载项提供的方法。

已经有answers for doing this with a loaded XLL add-in,但目的是直接调用该方法。

1 个答案:

答案 0 :(得分:1)

根据e.James' answer调用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>, ...


不幸的是,我发现CuberChase's answer直接声明方法就像API调用一样,不适用于我特定的.xla文件,也许它需要加载才能工作。