Partager via


Procédure pas à pas : création d'un onglet personnalisé à l'aide d'un élément XML Ribbon

Cette procédure pas à pas montre comment créer un onglet de ruban personnalisé à l'aide de l'élément Ruban (XML).

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour les applications suivantes : Excel 2007, Excel 2010, InfoPath 2007, InfoPath 2010, Outlook 2007, Outlook 2010, PowerPoint 2007, PowerPoint 2010, Project 2010; Visio 2010, Word 2007 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Cette procédure pas à pas décrit les tâches suivantes :

  • Ajout de boutons à l'onglet Compléments. L'onglet Compléments est l'onglet par défaut défini dans le fichier XML du ruban.

  • Automatisation de Microsoft Office Word à l'aide des boutons de l'onglet Compléments.

Notes

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. Ces éléments dépendent de l'édition de Visual Studio dont vous disposez et des paramètres que vous utilisez. Pour plus d'informations, consultez Utilisation des paramètres.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

-

Une édition de Visual Studio 2010 qui inclut les outils de développement Microsoft Office. Pour plus d'informations, consultez [Configuration d'un ordinateur pour développer des solutions Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 ou Word 2010. 

lien vers la vidéo Pour une démonstration vidéo connexe, consultez Comment faire pour utiliser le Concepteur de ruban pour personnaliser le ruban dans Excel ? (page éventuellement en anglais).

Création du projet

La première étape consiste à créer un projet de complément Word. Vous personnaliserez ultérieurement l'onglet Compléments de ce document.

Pour créer un projet

  • Créez un projet Complément Word et nommez-le MyRibbonAddIn.

    Pour plus d'informations, consultez Comment : créer des projets Office dans Visual Studio.

    Visual Studio ouvre le fichier de code ThisAddIn.cs ou ThisAddIn.vb et ajoute le projet MyRibbonAddIn à l'Explorateur de solutions.

Création de l'onglet Compléments

Pour créer l'onglet Compléments, ajoutez un élément Ruban (XML) à votre projet. À une étape ultérieure de cette procédure, vous ajouterez des boutons à cet onglet.

Pour créer l'onglet Compléments

  1. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Ruban (XML).

  3. Remplacez le nom du nouveau ruban par MyRibbon, puis cliquez sur Ajouter.

    Le fichier MyRibbon.cs ou MyRibbon.vb s'ouvre dans le concepteur. Un fichier XML appelé MyRibbon.xml est également ajouté à votre projet.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier ThisAddin.cs ou ThisAddin.vb et sélectionnez Afficher le code.

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

    Protected Overrides Function CreateRibbonExtensibilityObject() As  _
    Microsoft.Office.Core.IRibbonExtensibility
        Return New MyRibbon()
    End Function
    
    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        return new MyRibbon();
    }
    
  6. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet MyRibbonAddIn et sélectionnez Générer. Vérifiez que la génération du projet s'exécute correctement.

Ajout de boutons à l'onglet Compléments

L'objectif de ce complément est de permettre aux utilisateurs d'ajouter du texte souvent utilisé et un tableau spécifique au document actif. Pour fournir l'interface utilisateur, ajoutez deux boutons à l'onglet Compléments en modifiant le fichier XML du ruban. À une étape ultérieure de cette procédure, vous définirez des méthodes de rappel pour les boutons. Pour plus d'informations sur le fichier XML du ruban, voir Élément XML Ribbon.

Pour ajouter des boutons dans l'onglet Compléments

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur MyRibbon.xml et sélectionnez Ouvrir.

  2. Remplacez le contenu de l'élément tab par le code XML suivant. Ce code XML renomme le groupe de contrôles par défaut en Contenu et ajoute deux nouveaux boutons nommés Insérer du texte et Insérer une tableau.

    <tab idMso="TabAddIns">
        <group id="ContentGroup" label="Content">
            <button id="textButton" label="Insert Text"
                 screentip="Text" onAction="OnTextButton"
                 supertip="Inserts text at the cursor location."/>
            <button id="tableButton" label="Insert Table"
                 screentip="Table" onAction="OnTableButton"
                 supertip="Inserts a table at the cursor location."/>
        </group>
    </tab>
    

Automatisation du document à l'aide des boutons

Vous devez ajouter des méthodes de rappel onAction pour que les boutons Insérer du texte et Insérer un tableau exécutent des actions lorsque l'utilisateur clique dessus. Pour plus d'informations concernant les méthodes de rappel pour les contrôles du ruban, voir Élément XML Ribbon.

Pour ajouter des méthodes de rappel pour les boutons

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur MyRibbon.cs ou MyRibbon.vb et sélectionnez Ouvrir.

  2. Ajoutez le code suivant en haut du fichier de code MyRibbon.cs ou MyRibbon.vb. Ce code crée un alias pour l'espace de noms Microsoft.Office.Interop.Word.

    Imports Word = Microsoft.Office.Interop.Word
    
    using Word = Microsoft.Office.Interop.Word;
    
  3. Ajoutez la méthode suivante à la classe MyRibbon. Il s'agit d'une méthode de rappel pour le bouton Insérer du texte qui ajoute une chaîne au document actif à l'emplacement actuel du curseur.

    Public Sub OnTextButton(ByVal control As Office.IRibbonControl)
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        currentRange.Text = "This text was added by the Ribbon."
    End Sub
    
    public void OnTextButton(Office.IRibbonControl control)
    {
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the Ribbon.";
    }
    
  4. Ajoutez la méthode suivante à la classe MyRibbon. Il s'agit d'une méthode de rappel pour le bouton Insérer un tableau qui ajoute un tableau au document actif à l'emplacement actuel du curseur.

    Public Sub OnTableButton(ByVal control As Office.IRibbonControl)
        Dim missing As Object = System.Type.Missing
    
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        Dim newTable As Word.Table = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( _
                   currentRange, 3, 4)
    
        ' Get all of the borders except for the diagonal borders.
        Dim borders() As Word.Border = New Word.Border(6) {}
        borders(0) = newTable.Borders(Word.WdBorderType.wdBorderLeft)
        borders(1) = newTable.Borders(Word.WdBorderType.wdBorderRight)
        borders(2) = newTable.Borders(Word.WdBorderType.wdBorderTop)
        borders(3) = newTable.Borders(Word.WdBorderType.wdBorderBottom)
        borders(4) = newTable.Borders(Word.WdBorderType.wdBorderHorizontal)
        borders(5) = newTable.Borders(Word.WdBorderType.wdBorderVertical)
    
        ' Format each of the borders.
        For Each border As Word.Border In borders
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle
            border.Color = Word.WdColor.wdColorBlue
        Next
    End Sub
    
    public void OnTableButton(Office.IRibbonControl control)
    {
        object missing = System.Type.Missing;
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        Word.Table newTable = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add(
        currentRange, 3, 4, ref missing, ref missing);
    
        // Get all of the borders except for the diagonal borders.
        Word.Border[] borders = new Word.Border[6];
        borders[0] = newTable.Borders[Word.WdBorderType.wdBorderLeft];
        borders[1] = newTable.Borders[Word.WdBorderType.wdBorderRight];
        borders[2] = newTable.Borders[Word.WdBorderType.wdBorderTop];
        borders[3] = newTable.Borders[Word.WdBorderType.wdBorderBottom];
        borders[4] = newTable.Borders[Word.WdBorderType.wdBorderHorizontal];
        borders[5] = newTable.Borders[Word.WdBorderType.wdBorderVertical];
    
        // Format each of the borders.
        foreach (Word.Border border in borders)
        {
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle;
            border.Color = Word.WdColor.wdColorBlue;
        }
    }
    

Test du complément

Lorsque vous exécutez le projet, Word s'ouvre et l'onglet Compléments apparaît sur le ruban. Cliquez sur les boutons Insérer du texte et Insérer un tableau dans l'onglet Compléments pour tester le code.

Pour tester votre complément

  1. Appuyez sur F5 pour exécuter votre projet.

  2. Confirmez que l'onglet Compléments est visible sur le ruban.

  3. Cliquez sur l'onglet Compléments.

  4. Confirmez que le groupe Contenu est visible sur le ruban.

  5. Cliquez sur le bouton Insérer du texte dans le groupe Contenu.

    Une chaîne est ajoutée au document à l'emplacement actuel du curseur.

  6. Cliquez sur le bouton Insérer un tableau dans le groupe Contenu.

    Un tableau est ajouté au document à l'emplacement actuel du curseur.

Étapes suivantes

Pour plus d'informations sur la personnalisation de l'interface utilisateur d'Office, consultez les rubriques suivantes :

Voir aussi

Tâches

Procédure pas à pas : création d'un onglet personnalisé à l'aide du Concepteur de ruban

Concepts

Élément XML Ribbon

Autres ressources

Vue d'ensemble du ruban