如何:向快捷菜单添加命令
使用应用程序级外接程序,本主题演示如何将命令添加到 Office 应用程序中的快捷菜单。
**适用于:**本主题中的信息适用于 Office 2013 和 Office 2010 的文档级项目和应用程序级项目。请参见按 Office 应用程序和项目类型提供的功能。
将命令添加到 Office 的快捷菜单
添加一个 功能区 XML 项目组合到一个文档级项目或应用程序级项目。有关更多信息,请参见如何:开始自定义功能区。在 ... 中
解决方案资源管理器、选择 ThisAddin.cs 或 ThisAddin.vb。
在菜单栏上,依次选择 视图,代码。
ThisAddin 选件类文件将在代码编辑器中打开。
向**“ThisAddin”**类中添加下面的代码。这段代码重写 CreateRibbonExtensibilityObject 方法,将功能区 XML 类返回给 Office 应用程序。
Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility Return New Ribbon1() End Function
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new Ribbon1(); }
在 解决方案资源管理器,选择功能区 XML 文件。默认情况下,功能区 XML 文件名为 Ribbon1.xml。
在菜单栏上,依次选择 视图,代码。
功能区 XML 文件将在代码编辑器中打开。
介绍快捷菜单和控件要添加到快捷菜单的代码编辑器中,添加 XML。
下面的示例将一个按钮,菜单,并且,对于快捷菜单中的一个库控件运行的文档。此快捷菜单控件 ID 是 ContextMenuText。有关完整的 Office 2010 快捷控件 ID,请参见 Office 2010 帮助文件:Office fluent 用户界面控件标识符。
<?xml version="1.0" encoding="UTF-8"?> <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui"> <contextMenus> <contextMenu idMso="ContextMenuText"> <button id="MyButton" label="My Button" insertBeforeMso="HyperlinkInsert" onAction="GetButtonID" /> <menu id="MySubMenu" label="My Submenu" > <button id="MyButton2" label="Button on submenu" /> </menu> <gallery id="galleryOne" label="My Gallery"> <item id="item1" imageMso="HappyFace" /> <item id="item2" imageMso="HappyFace" /> <item id="item3" imageMso="HappyFace" /> <item id="item4" imageMso="HappyFace" /> </gallery> </contextMenu> </contextMenus> </customUI>
在 解决方案资源管理器,选择 MyRibbon.cs 或 MyRibbon.vb。
添加回调方法添加到您要处理的每个控件的 Ribbon1 选件类。
下列回调方法处理 我的按钮 按钮。此代码添加一个到活动在放在的当前位置文档。
Public Sub GetButtonID(ByVal control As Office.IRibbonControl) Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range currentRange.Text = "This text was added by the context menu named My Button." End Sub
public void GetButtonID(Office.IRibbonControl control) { Microsoft.Office.Interop.Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range; currentRange.Text = "This text was added by the context menu named My Button."; }