Excel 使用VBA在功能区上执行外接程序元素

Excel 使用VBA在功能区上执行外接程序元素,excel,vba,Excel,Vba,我有一个excel COM外接程序,它有一个快速访问工具栏,其中包含可以通过单击执行的元素。 现在我想写一个VBA宏,它可以多次执行这个元素。 我正在尝试使用以下行访问此外接程序元素: Dim addinModule作为对象 设置addinModule=Application.COMAddIns.Item(“MyExcelAddin”).Object 但我只能得到一个错误,上面写着“运行时错误9:下标超出范围” 我无法将其添加到工具->引用中,在开发人员模式的COM加载项部分,它已加载 关于您必

我有一个excel COM外接程序,它有一个快速访问工具栏,其中包含可以通过单击执行的元素。 现在我想写一个VBA宏,它可以多次执行这个元素。 我正在尝试使用以下行访问此外接程序元素:

Dim addinModule作为对象
设置addinModule=Application.COMAddIns.Item(“MyExcelAddin”).Object
但我只能得到一个错误,上面写着“运行时错误9:下标超出范围”

我无法将其添加到工具->引用中,在开发人员模式的COM加载项部分,它已加载


关于

您必须使用
progID
而不是
说明

要查看所有正在运行的COM加载项的列表,请运行:

Dim i As Long
For i = 1 To Application.COMAddIns.Count
    With Application.COMAddIns(i)
        Debug.Print .progID & "  :  " & .Description
    End With
Next

如果已加载,您应该会在列表中看到它。

我在使用VSTO时遇到过这个问题,但基本上.Net Excel.Interop与下面的VBA对象模型相同。错误信息是什么?我认为@Profex可能已经解决了这个问题,但如果这不起作用,你可以尝试使用Admin: