Purpose Built-in Control, but with error: Wrong number of arguments or invalid property assignment

Purpose Built-in Control, but with error: Wrong number of arguments or invalid property assignment

我正在尝试重新调整内置控件的用途。使用类似的 RibbonX 代码和 VBA 代码,我发现有些控件可以改变用途(例如,Paste 和 FileSave),而有些则不能改变用途(例如,Bold 和 Underline)。 错误消息是 "Wrong number of arguments or invalid property assignment".

RibbonX 代码:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <commands>
        <command idMso="Underline" enabled="false"/>
        <command idMso="Bold" onAction="MyBold"/>
    </commands>
</customUI>

在标准 VBA 模块中:

'Callback for Bold onAction
Sub MyBold(control As IRibbonControl, ByRef cancelDefault)
    MsgBox "Hello"
End Sub

在Excel点击粗体控件时,出现错误信息:

Wrong number of arguments or invalid property assignment

正在互联网上搜索示例 this siteanother site,没有给我任何线索。

非常感谢您的想法。谢谢。

您的回调签名有误。请参阅此文档: https://msdn.microsoft.com/en-us/library/aa722523%28v=office.12%29.aspx?f=255&MSPPError=-2147217396

Bold 按钮实际上是一个切换按钮控件,因此您应该使用:

Sub MyBold(control As IRibbonControl, pressed As Boolean, ByRef cancelDefault)

End Sub