0

我试图重新调整内置控件的用途。使用类似的 RibbonX 代码和 VBA 代码,我发现有些控件可以重新利用(例如,Paste 和 FileSave),而有些则不能重新利用(例如,Bold 和 Underline)。错误消息是“参数数量错误或属性分配无效”。

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 中,当我单击粗体控件时,我收到了错误消息:

参数数量错误或属性分配无效

在互联网上搜索这个站点另一个站点的例子,不要给我任何线索。

真的很感激你的想法。谢谢你。

4

1 回答 1

1

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

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

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

End Sub
于 2016-11-28T10:38:43.587 回答