共用方式為


將命令新增至捷徑功能表

本主題示範如何使用 VSTO 增益集將命令加入 Office 應用程式的捷徑功能表中。

適用對象:本主題資訊適用於文件層級的專案和 VSTO 增益集專案。 請參閱依 Office 應用程式和專案類型提供的功能

將命令加入 Office 的捷徑功能表

  1. 功能區 XML 項目加入文件層級或 VSTO 增益集專案。 如需詳細資訊,請參閱操作說明:開始自訂功能區。 In

  2. 在方案總管中,選取 ThisAddin.csThisAddin.vb

  3. 在功能表列上依序選擇 [檢視]>[程式碼]

    ThisAddin 類別隨即在程式碼編輯器中開啟。

  4. 將下列程式碼加入 ThisAddin 類別中。 此程式碼會覆寫 CreateRibbonExtensibilityObject 方法,並將功能區 XML 類別傳回 Office 應用程式。

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
          return new Ribbon1();
    }
    
  5. 在方案總管 中選取功能區 XML 檔案。 根據預設,功能區 XML 檔名為 Ribbon1.xml

  6. 在功能表列上依序選擇 [檢視]>[程式碼]

    功能區 XML 檔案隨即在程式碼編輯器中開啟。

  7. 在程式碼編輯器中,加入描述捷徑功能表以及您想要加入捷徑功能表之控制項的 XML。

    下列範例會將按鈕、功能表和圖庫控制項加入 Word 文件的捷徑功能表。 這個捷徑功能表的控制項 ID 是 ContextMenuText。 如需 Office 2010 捷徑控制項 ID 的完整清單,請參閱 Office 2010 說明檔:Office Fluent 使用者介面控制項識別碼

    <?xml version="1.0" encoding="UTF-8"?>
    <customUI xmlns="http://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>
    
  8. 在方案總管 中,選擇 MyRibbon.csMyRibbon.vb

  9. 針對您想要處理的每個控制項,將回呼方法加入 Ribbon1 類別。

    下列回呼方法會處理 [My Button] 按鈕。 此程式碼會在使用中文件的目前游標位置加入字串。

    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.";
    }