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
Microsoft Office-Version
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"
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
Klicken Sie im Dialogfeld Neues Element hinzufügen auf Multifunktionsleiste (XML).
Ä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.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisAddin.cs oder ThisAddin.vb, und klicken Sie anschließend auf Code anzeigen.
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(); }
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
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.xml, und klicken Sie anschließend auf Öffnen.
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
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.cs oder MyRibbon.vb, und klicken Sie auf Öffnen.
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;
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."; }
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
Drücken Sie F5, um das Projekt auszuführen.
Vergewissern Sie sich, dass die Registerkarte Add-Ins auf der Multifunktionsleiste sichtbar ist.
Klicken Sie auf die Registerkarte Add-Ins.
Vergewissern Sie sich, dass die Gruppe Content auf der Multifunktionsleiste sichtbar ist.
Klicken Sie in der Gruppe Content auf die Schaltfläche Insert Text.
Dem Dokument wird an der aktuellen Cursorposition eine Zeichenfolge hinzugefügt.
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:
Passen Sie die Multifunktionsleiste einer anderen Office-Anwendung an. Weitere Informationen über die Anwendungen, die das Anpassen der Multifunktionsleiste unterstützen, finden Sie unter Übersicht über die Multifunktionsleiste.
Passen Sie die Multifunktionsleiste einer Office-Anwendung mithilfe des Multifunktionsleisten-Designers an. Weitere Informationen finden Sie unter Multifunktionsleisten-Designer.
Erstellen Sie einen benutzerdefinierten Aktionsbereich. Weitere Informationen finden Sie unter Aktionsbereichsübersicht.
Passen Sie die Benutzeroberfläche von Microsoft Office Outlook 2007 mithilfe der Outlook-Formularbereiche an. Weitere Informationen hierzu finden Sie unter Exemplarische Vorgehensweise: Entwerfen eines Outlook-Formularbereichs.