Partager via


Ajouter des commandes à des menus contextuels

Cette rubrique montre comment ajouter des commandes à un menu contextuel dans une application Office en utilisant un complément VSTO.

S'applique à : les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et aux projets de compléments VSTO. Consultez les caractéristiques disponibles par application Office et par type de projet.

Pour ajouter des commandes à des menus contextuels dans Office

  1. Ajoutez un élément Ribbon XML à un projet au niveau du document ou de complément VSTO. Pour plus d'informations, consultez Aide et Astuces : bien démarrer avec la personnalisation du ruban. Dans

  2. Dans l’Explouateur de solutions, sélectionnez ThisAddin.cs ou ThisAddin.vb.

  3. Dans la barre de menus, sélectionnez Afficher>Code.

    Le fichier de classe ThisAddin s’ouvre dans l’éditeur de code.

  4. Ajoutez le code suivant à la classe ThisAddin . Ce code substitue la méthode CreateRibbonExtensibilityObject et retourne la classe Ribbon XML à l'application Office.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
          return new Ribbon1();
    }
    
  5. Dans l’ Explorateur de solutions, sélectionnez le fichier XML de ruban. Par défaut, le fichier XML de ruban se nomme Ribbon1.xml.

  6. Dans la barre de menus, sélectionnez Afficher>Code.

    Le fichier XML de ruban s’ouvre dans l’éditeur de code.

  7. Dans l’éditeur de code, ajoutez le code XML qui décrit le menu contextuel et le contrôle à ajouter au menu contextuel.

    L’exemple suivant ajoute un bouton, un menu et un contrôle de galerie au menu contextuel d’un document Word. L’ID du contrôle de ce menu contextuel est ContextMenuText. Pour obtenir la liste complète des ID de contrôle Office 2010, consultez Fichiers d’aide Office 2010 : identificateurs de contrôle d’interface utilisateur 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. Dans l’ Explorateur de solutions, choisissez MyRibbon.cs ou MyRibbon.vb.

  9. Ajoutez une méthode de rappel à la classe Ribbon1 pour chaque contrôle à gérer.

    La méthode de rappel suivante gère le bouton Mon bouton . Ce code ajoute une chaîne au document actif à l’emplacement actuel du curseur.

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