通过自定义按钮运行宏时,VBA错误"参数数量错误或属性分配无效"

Dav*_*ard 13 tabs vba ribbon word-2007 word-vba

我有一个宏,我通过自定义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>
Run Code Online (Sandbox Code Playgroud)

按钮显示很好,带有我的自定义徽标,但是当我点击按钮时,我得到以下错误 -

VBA错误

通常情况下,此错误后未打开VBA,如果我打开开发人员控制台然后尝试单击按钮,则VBA中的代码不会被指示为问题.

奇怪的是,如果我尝试手动运行宏,它可以正常工作,没有错误.有没有人有任何想法如何解决这个问题?

如果您希望查看它,这是我在Pastebin中的完整代码.谢谢.

Oll*_*ren 15

start_tla的VBA代码中的回调具有错误的呼叫签名.

如果您在自定义UI编辑器中打开文件,则菜单右侧会出现一个名为Generate Callbacks的按钮.如果按下它,它将为您的VBA代码提供正确的回调以匹配文件中的功能区xml:

'Callback for buttonFormatTLA onAction
Sub start_tla(control As IRibbonControl)
    'Your code goes here
End Sub
Run Code Online (Sandbox Code Playgroud)

根据Pastebin链接,你的sub看起来像这样,没有control As IRibbonControl参数:

Public Sub start_tla()
Run Code Online (Sandbox Code Playgroud)