Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA错误';参数数量错误或属性赋值无效';通过自定义按钮运行宏时_Vba_Tabs_Ribbon_Ms Word_Word 2007 - Fatal编程技术网

VBA错误';参数数量错误或属性赋值无效';通过自定义按钮运行宏时

VBA错误';参数数量错误或属性赋值无效';通过自定义按钮运行宏时,vba,tabs,ribbon,ms-word,word-2007,Vba,Tabs,Ribbon,Ms Word,Word 2007,我有一个宏,可以通过自定义UI编辑器添加的选项卡/组/按钮调用- <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="tabCustomActions" label="Custom ActionsXXX" insert

我有一个宏,可以通过自定义UI编辑器添加的选项卡/组/按钮调用-

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="tabCustomActions" label="Custom ActionsXXX" insertAfterMso="TabDeveloper">
                <group id="GroupTLA" label="TLA Actions">
                    <button id="buttonFormatTLA" label="Format as TLA" image="TLALogo" size="large" onAction="start_tla" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

按钮显示得很好,带有我的自定义徽标,但每次单击按钮时,都会出现以下错误-

在出现此错误后,VBA不会像通常一样打开,如果打开开发人员控制台,然后尝试单击该按钮,VBA中的任何代码都不会显示为问题

奇怪的是,如果我尝试手动运行宏,它工作正常,没有错误。有人知道如何解决这个问题吗


这是我的完整代码,如果你想查看的话。谢谢。

VBA代码中的
start\u tla
回调调用签名错误

如果在自定义UI编辑器中打开文件,则菜单右侧有一个名为“生成回调”的按钮。如果按此键,它将为VBA代码提供正确的回调,以匹配文件中的功能区xml:

'Callback for buttonFormatTLA onAction
Sub start_tla(control As IRibbonControl)
    'Your code goes here
End Sub
根据Pastebin链接,您的sub看起来像这样,没有
控件作为IRibbonControl
参数:

Public Sub start_tla()

VBA IDE不会打开,因为您没有运行VBA,这是一个宏,对吗?“手动运行”时,VBA中运行的是什么代码?布拉德:在Excel和其他office产品中,VBA=宏。同样的,太好了,谢谢你。实际上,我在customUI上创建了一个通用的回调函数,然后检查按下了哪个按钮。这样,如果我也手动运行宏,它就会工作。谢谢。就我而言,我在另一个打开的
加载项中有相同的模块名。在我为模块指定了唯一名称后,此错误消失了。