如何将customUI事件连接到Word 2010中的宏?

时间:2011-04-12 18:27:20

标签: vba ms-word ribbon office-2010

我有一个MS Word 2010启用宏的文档模板(.dotm文件)。我正在通过.dotm存档中的customUI\customUI14.xml文件嵌入一些自定义功能区UI组件。

控件显示正常,但我无法将XML中描述的onAction事件与模板中定义的任何宏链接起来。我认为方法签名是正确的,但我必须在XML中错误地引用它们。我做错了什么?

这是XML:

<mso:customUI xmlns:x2="http://schemas.microsoft.com/office/2009/07/customui/macro" xmlns:x1="DPOfcX.DocumentRibbon" xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
    <mso:ribbon>
        <mso:tabs>
            <mso:tab idQ="mso:TabHome">
                <mso:group id="TestGroup" label="TestGroup" autoScale="true">
                    <mso:button onAction="SendAsEmail.SendAsEmailRibbon" idQ="x2:TestSendAsEmail" label="Send As Email" imageMso="ListMacros" visible="true"/>
                    <mso:button onAction="SendAsEmail.ShowFormRibbon" idQ="x2:TestShowForm" label="Enter Letter Data" imageMso="ListMacros" visible="true"/>
                </mso:group>
            </mso:tab>
        </mso:tabs>
    </mso:ribbon>
</mso:customUI>

以下是SendAsEmail模块中的方法签名:

Sub ShowFormRibbon(IControl As IRibbonControl)

End Sub

Sub SendAsEmailRibbon(IControl As IRibbonControl)

End Sub

2 个答案:

答案 0 :(得分:1)

问题是idQ标记中的button属性。我最初是从UI导出中获取这些内容的。一旦我将它们更改为id,按钮事件就会起作用!

答案 1 :(得分:0)

您无需参考模块。只需从SendAsEmail.

中删除onAction即可