【发布时间】:2018-07-30 22:05:18
【问题描述】:
我有以下代码:
Sub CallVSTOMethod()
Dim addin As COMAddIns
Dim automationObject As Object
Set addin = Application.COMAddIns("CssFillTool")
Set automationObject = addin.Item
automationObject.ButtonClearRemarks
End Sub
我正在尝试找出我收到此错误的原因。
ButtonClearRemarks 是插件中的众多宏之一。当我单独单击该宏时,它可以正常工作。
这个宏不需要任何参数。单击此按钮将格式化我的 excelsheet。我也尝试传递空参数和其他选项,但没有用。欢迎提出任何建议。
经过几次更正:
Set addin = Application.COMAddIns
Set automationObject = addin.Item("CssFillTool")
现在我只需要在这个插件中访问宏ButtonClearRemarks
【问题讨论】:
-
您确定不是上面的那行引发了错误吗?
Item听起来像是一个需要参数的方法。 -
@JohnColeman 是的!我将代码更改为: Set addin = Application.COMAddIns Set automationObject = addin.Item("CssFillTool") 现在这不会引发任何错误。但现在我不知道调用“ButtonClearRemarks”宏的语法。下一行现在抛出错误:对象不支持此属性或方法
-
应该是
Set automationObject = addin.Object? -
帮助显示“必需对象。返回 COMAddIns 集合中该位置的 COM 加载项的序数值,或表示指定 COM 加载项的 ProgID 的字符串值。 "看起来它返回了一个
COMAddIn。这不是 VBA,但应该提供建议:docs.microsoft.com/en-us/dotnet/api/… -
那么,你不应该把
addins赋值为Application.COMAddIns()的返回值,然后通过item index访问你感兴趣的那个吗?
标签: excel vba com excel-addins