【问题标题】:Calling an XLA add-in method (function/sub) when the add-in is not loaded未加载加载项时调用 XLA 加载项方法(函数/子)
【发布时间】:2018-03-21 09:09:31
【问题描述】:

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

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

【问题讨论】:

    标签: vba excel xla


    【解决方案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 文件,可能需要加载它才能工作。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多