Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit Multifunktionsleisten-XML

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

In dieser exemplarischen Vorgehensweise wird das Erstellen einer benutzerdefinierten Registerkarte für die Multifunktionsleiste mithilfe des Elements Multifunktionsleiste (XML) beschrieben.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Hinzufügen von Schaltflächen zur Registerkarte Add-Ins Die Registerkarte Add-Ins ist die standardmäßige in der Multifunktionsleisten-XML-Datei definierte Registerkarte.

  • Automatisieren von Microsoft Office Word 2007 mithilfe der Schaltflächen auf der Registerkarte Add-Ins

Hinweis:

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio, die in den folgenden Anweisungen aufgeführt sind, angezeigt. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen hierzu finden Sie unter Visual Studio-Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Word 2007.

Visual Studio Tools for Office wird standardmäßig mit den aufgeführten Versionen von Visual Studio installiert. Wie Sie überprüfen können, ob die Software installiert ist, erfahren Sie in Installieren von Visual Studio Tools for Office.

Erstellen des Projekts

Zunächst muss ein Word 2007-Add-In-Projekt erstellt werden. Später wird die Registerkarte Add-Ins dieses Dokuments angepasst.

So erstellen Sie ein neues Projekt

  • Erstellen Sie ein Word-Add-In-Projekt mit dem Namen MyRibbonAddIn.

    Verwenden Sie die Projektvorlage Word Add-In für 2007 Microsoft Office System. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Visual Studio Tools for Office-Projekte.

    Visual Studio öffnet die Codedatei ThisAddIn.cs oder ThisAddIn.vb und fügt dem Projektmappen-Explorer das MyRibbonAddIn-Projekt hinzu.

Erstellen der Registerkarte "Add-Ins"

Fügen Sie zum Erstellen der Registerkarte Add-Ins ein Element für die Multifunktionsleiste (XML) hinzu. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie dieser Registerkarte einige Schaltflächen hinzu.

So erstellen Sie die Registerkarte "Add-Ins"

  1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Multifunktionsleiste (XML).

  3. Ändern Sie den Namen der neuen Multifunktionsleiste in MyRibbon, und klicken Sie auf Hinzufügen.

    Im Designer wird die Datei MyRibbon.cs oder MyRibbon.vb geöffnet. Außerdem wird dem Projekt eine XML-Datei mit dem Namen MyRibbon.xml hinzugefügt.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisAddin.cs oder ThisAddin.vb, und klicken Sie anschließend auf Code anzeigen.

  5. Fügen Sie der ThisAddin-Klasse den folgenden Code hinzu: Mit diesem Code wird die CreateRibbonExtensibilityObject-Methode überschrieben und der Office-Anwendung die Multifunktionsleisten-XML-Klasse zurückgegeben.

    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. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ExcelCustomAction, und klicken Sie anschließend auf Erstellen. Überprüfen Sie, ob sich das Projekt fehlerfrei erstellen lässt.

Hinzufügen von Schaltflächen zur Registerkarte "Add-Ins"

Mit diesem Add-In soll es Benutzern ermöglicht werden, dem aktiven Dokument Text mit Codebausteinen und eine spezielle Tabelle hinzuzufügen. Um die Benutzeroberfläche bereitzustellen, fügen Sie der Registerkarte Add-Ins zwei Schaltflächen hinzu, indem Sie die Multifunktionsleisten-XML-Datei ändern. Im weiteren Verlauf dieser exemplarischen Vorgehensweise definieren Sie Rückrufmethoden für die Schaltflächen. Weitere Informationen über die Multifunktionsleisten-XML-Datei finden Sie unter Multifunktionsleisten-XML.

So fügen Sie der Registerkarte "Add-Ins" Schaltflächen hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.xml, und klicken Sie anschließend auf Öffnen.

  2. Ersetzen Sie den Inhalt des tab-Elements durch folgenden XML-Code. Mit diesem XML-Code wird die Bezeichnung der Standardsteuerelementgruppe zu Content geändert, und es werden zwei neue Schaltflächen mit den Bezeichnungen Insert Text und Insert Table hinzugefügt.

    <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>
    

Automatisieren des Dokuments mithilfe der Schaltflächen

Sie müssen onAction-Rückrufmethoden für die Schaltflächen Insert Text und Insert Table hinzufügen, damit Aktionen ausgeführt werden, wenn der Benutzer auf sie klickt. Weitere Informationen über Rückrufmethoden für Multifunktionsleisten-Steuerelemente finden Sie unter Multifunktionsleisten-XML.

So fügen Sie Rückrufmethoden für die Schaltflächen hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.cs oder MyRibbon.vb, und klicken Sie auf Öffnen.

  2. Fügen Sie am Anfang der Datei MyRibbon.cs oder MyRibbon.vb folgenden Code hinzu. Mit diesem Code wird ein Alias für den Microsoft.Office.Interop.Word-Namespace erstellt.

    Imports Word = Microsoft.Office.Interop.Word
    
    using Word = Microsoft.Office.Interop.Word;
    
  3. Fügen Sie der MyRibbon-Klasse die folgende Methode hinzu. Dies ist eine Rückrufmethode für die Schaltfläche Insert Text, mit der dem aktiven Dokument an der aktuellen Cursorposition eine Zeichenfolge hinzugefügt wird.

    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. Fügen Sie der MyRibbon-Klasse die folgende Methode hinzu. Dies ist eine Rückrufmethode für die Schaltfläche Insert Table, mit der dem aktiven Dokument an der aktuellen Cursorposition eine Tabelle hinzugefügt wird.

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

Testen des Add-Ins

Wenn Sie das Projekt ausführen, wird Word 2007 geöffnet, und auf der Multifunktionsleiste wird die Registerkarte Add-Ins angezeigt. Klicken Sie auf der Registerkarte Add-Ins auf die Schaltflächen Insert Text und Insert Table, um den Code zu testen.

So testen Sie das Add-In

  1. Drücken Sie F5, um das Projekt auszuführen.

  2. Vergewissern Sie sich, dass die Registerkarte Add-Ins auf der Multifunktionsleiste sichtbar ist.

  3. Klicken Sie auf die Registerkarte Add-Ins.

  4. Vergewissern Sie sich, dass die Gruppe Content auf der Multifunktionsleiste sichtbar ist.

  5. Klicken Sie in der Gruppe Content auf die Schaltfläche Insert Text.

    Dem Dokument wird an der aktuellen Cursorposition eine Zeichenfolge hinzugefügt.

  6. Klicken Sie in der Gruppe Content auf die Schaltfläche Insert Table.

    Dem Dokument wird an der aktuellen Cursorposition eine Tabelle hinzugefügt.

Nächste Schritte

Weitere Informationen über das Anpassen der Office-Benutzeroberfläche finden Sie in diesen Themen:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit dem Multifunktionsleisten-Designer

Konzepte

Übersicht über die Multifunktionsleiste

Multifunktionsleisten-XML