次の方法で共有


方法: ショートカット メニューにコマンドを追加する

このトピックでは、アプリケーション レベルのアドインを使用してOfficeアプリケーションのショートカット メニューにコマンドを追加する方法を示します。

対象: このトピックの情報は、Office 2013 および Office 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

Officeのコマンドをショートカット メニューに追加するには

  1. ドキュメント レベルまたはアプリケーション レベルのプロジェクトに [Ribbon XML] の項目を追加します。詳細については、「方法 : リボンのカスタマイズの概要」を参照してください。In

  2. [ソリューション エクスプローラー]、を選択します [ThisAddin.cs] または [ThisAddin.vb]

  3. メニュー バーで、[表示]、**[コード]**を選択します。

    [ThisAddin] のクラス ファイルがコード エディターで開きます。

  4. ThisAddin クラスに次のコードを追加します。このコードは、CreateRibbonExtensibilityObject メソッドをオーバーライドし、Office アプリケーションにリボン XML クラスを返します。

    Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility
        Return New Ribbon1()
    End Function
    
    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ユーザー インターフェイスのコントロールID" "を参照してください。

    <?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>
    
  8. [ソリューション エクスプローラー]では、[MyRibbon.cs] か **[MyRibbon.vb]**を選択します。

  9. 、処理する各コントロールの Ribbon1 のクラスにコールバック メソッドを追加します。

    次のコールバック メソッドは [My Button] のボタンを処理します。このコードは、行頭の現在位置でActiveドキュメントに文字列を追加します。

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

参照

処理手順

チュートリアル : ブックマークのショートカット メニューの作成

概念

Office ソリューションの省略可能なパラメーター

その他の技術情報

Office UI のカスタマイズ

Office 2010のコンテキスト メニューのカスタマイズ