Partager via


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

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et aux versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

  • Projets au niveau de l'application

Version de Microsoft Office

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

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

Cette procédure pas à pas illustre 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 2007 à l'aide des boutons de l'onglet Compléments.

Remarque :

Certains éléments de l'interface utilisateur Visual Studio mentionnés dans les instructions suivantes peuvent avoir des noms ou des emplacements différents sur votre ordinateur. Ces éléments sont déterminés par votre édition de Visual Studio et les paramètres que vous utilisez. Pour plus d'informations, voir Paramètres Visual Studio.

Composants requis

Vous avez besoin des composants suivants pour exécuter cette procédure pas à pas :

  • Visual Studio Tools pour Office (composant facultatif de Visual Studio 2008 Professional et Visual Studio Team System).

  • Microsoft Office Word 2007.

Visual Studio Tools pour Office est installé par défaut avec les versions répertoriées de Visual Studio. Pour vérifier s'il est installé, consultez Installation de Visual Studio Tools pour Office.

Création du projet

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

Pour créer un projet

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

    Veillez à utiliser le modèle de projet Complément Word pour la version 2007 de Microsoft Office System. Pour plus d'informations, voir Comment : créer des projets Visual Studio Tools pour Office.

    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 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 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 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 2007 s'ouvre et l'onglet Compléments apparaît sur le ruban. Cliquez sur les boutons Insérer 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 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

Vue d'ensemble du ruban

Élément XML Ribbon