Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Multifunktionsleistenschaltfläche
Aktualisiert: November 2007
Betrifft |
---|
Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Microsoft Office-Anwendungen. Projekttyp
Microsoft Office-Anwendung
Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie ein benutzerdefinierter Aufgabenbereich erstellt wird, den Benutzer anzeigen oder ausblenden können, indem sie auf der Multifunktionsleiste auf eine Umschaltfläche klicken. Sie sollten immer ein Benutzeroberflächenelement (UI-Element), z. B. eine Schaltfläche, erstellen, auf die Benutzer klicken können, um den benutzerdefinierten Aufgabenbereich anzuzeigen oder auszublenden, da Microsoft Office-Anwendungen kein Standardverfahren bereitstellen, mit dem Benutzer benutzerdefinierte Aufgabenbereiche anzeigen oder ausblenden können.
Obwohl in dieser exemplarischen Vorgehensweise speziell Excel verwendet wird, gelten die Konzepte in dieser exemplarischen Vorgehensweise für alle oben aufgelisteten Anwendungen.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs.
Hinzufügen einer Umschaltfläche zur Multifunktionsleiste.
Synchronisieren der Umschaltfläche mit dem benutzerdefinierten Aufgabenbereich.
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 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 Excel 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 Add-In-Projekts
In diesem Schritt erstellen Sie ein Add-In-Projekt für Excel.
So erstellen Sie ein neues Projekt
Erstellen Sie ein Excel-Add-In-Projekt mit dem Namen SynchronizeTaskPaneAndRibbon unter Verwendung der Excel-Add-In-Projektvorlage für 2007 Microsoft Office System. Weitere Informationen 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 Projekt SynchronizeTaskPaneAndRibbon hinzu.
Hinzufügen einer Umschaltfläche zur Multifunktionsleiste
Eine der Entwurfsrichtlinien für Office-Anwendungen besagt, dass Benutzer immer die Möglichkeit haben sollen, die Benutzeroberfläche von Office-Anwendungen zu steuern. Damit Benutzer den benutzerdefinierten Aufgabenbereich steuern können, können Sie eine Multifunktionsleisten-Umschaltfläche hinzufügen, über die der Aufgabenbereich angezeigt und ausgeblendet wird. Um eine Umschaltfläche zu erstellen, fügen Sie dem Projekt ein Element des Typs Multifunktionsleiste (Visual Designer) hinzu. Der Designer unterstützt Sie beim Hinzufügen und Anordnen von Steuerelementen, Festlegen von Steuerelementeigenschaften und Behandeln von Steuerelementereignissen. Weitere Informationen finden Sie unter Multifunktionsleisten-Designer.
So fügen Sie der Multifunktionsleiste eine Umschaltfläche hinzu
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Multifunktionsleiste (Visual Designer) aus.
Ändern Sie den Namen der neuen Multifunktionsleiste in ManageTaskPaneRibbon, und klicken Sie auf Hinzufügen.
Die Datei ManageTaskPaneRibbon.cs oder ManageTaskPaneRibbon.vb wird im Multifunktionsleisten-Designer geöffnet und zeigt eine Standardregisterkarte und eine Standardgruppe an.
Klicken Sie im Multifunktionsleisten-Designer auf group1.
Legen Sie im Eigenschaftenfenster die Label-Eigenschaft auf Task Pane Manager fest.
Ziehen Sie von der Registerkarte Steuerelemente für Office-Multifunktionsleisten der Toolbox eine ToggleButton in die Gruppe Aufgabenbereichs-Manager.
Klicken Sie auf toggleButton1.
Legen Sie im Eigenschaftenfenster die Label-Eigenschaft auf Show Task Pane fest.
Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs
Es gibt keinen visuellen Designer für benutzerdefinierte Aufgabenbereiche, Sie können aber dennoch ein Benutzersteuerelement mit dem gewünschten Layout entwerfen. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie dem benutzerdefinierten Aufgabenbereich das Benutzersteuerelement hinzu.
So entwerfen Sie die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs
Klicken Sie im Menü Projekt auf Benutzersteuerelement hinzufügen.
Ändern Sie im Dialogfeld Neues Element hinzufügen den Namen des Benutzersteuerelements in TaskPaneControl, und klicken Sie auf Hinzufügen.
Das Benutzersteuerelement wird im Designer geöffnet.
Ziehen Sie von der Registerkarte Allgemeine Steuerelemente der Toolbox ein TextBox-Steuerelement auf das Benutzersteuerelement.
Erstellen des benutzerdefinierten Aufgabenbereichs
Um den benutzerdefinierten Aufgabenbereich beim Starten des Add-Ins zu erstellen, fügen Sie dem Aufgabenbereich das Benutzersteuerelement im Startup-Ereignishandler des Add-Ins hinzu. Standardmäßig ist der benutzerdefinierte Aufgabenbereich nicht sichtbar. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie Code hinzu, mit dem der Aufgabenbereich angezeigt oder ausgeblendet wird, wenn der Benutzer auf die Umschaltfläche klickt, die Sie der Multifunktionsleiste hinzugefügt haben.
So erstellen Sie den benutzerdefinierten Aufgabenbereich
Erweitern Sie im Projektmappen-Explorer die Option Excel.
Klicken Sie mit der rechten Maustaste auf ThisAddIn.cs oder ThisAddIn.vb, und klicken Sie auf Code anzeigen.
Fügen Sie der ThisAddIn-Klasse folgenden Code hinzu. Mit diesem Code wird eine Instanz von TaskPaneControl als Member von ThisAddIn deklariert.
Private taskPaneControl1 As TaskPaneControl Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
private TaskPaneControl taskPaneControl1; private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
Ersetzen Sie den ThisAddIn_Startup-Ereignishandler durch folgenden Code. Mit diesem Code wird das TaskPaneControl-Objekt dem CustomTaskPanes-Feld hinzugefügt, der benutzerdefinierte Aufgabenbereich aber nicht angezeigt (standardmäßig ist die Visible-Eigenschaft der CustomTaskPane-Klasse false). Mit dem Visual C#-Code wird auch ein Ereignishandler an das VisibleChanged-Ereignis angefügt.
Private Sub ThisAddIn_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup taskPaneControl1 = New TaskPaneControl() taskPaneValue = Me.CustomTaskPanes.Add( _ taskPaneControl1, "MyCustomTaskPane") End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { taskPaneControl1 = new TaskPaneControl(); taskPaneValue = this.CustomTaskPanes.Add( taskPaneControl1, "MyCustomTaskPane"); taskPaneValue.VisibleChanged += new EventHandler(taskPaneValue_VisibleChanged); }
Fügen Sie der ThisAddIn-Klasse die folgende Methode hinzu. Diese Methode behandelt das VisibleChanged-Ereignis. Wenn der Benutzer den Aufgabenbereich durch Klicken auf die Schaltfläche Schließen (X) schließt, aktualisiert diese Methode den Zustand der Umschaltfläche auf der Multifunktionsleiste.
Private Sub taskPaneValue_VisibleChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles taskPaneValue.VisibleChanged Globals.Ribbons.ManageTaskPaneRibbon.ToggleButton1.Checked = taskPaneValue.Visible End Sub
private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e) { Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = taskPaneValue.Visible; }
Fügen Sie der ThisAddIn-Klasse die folgende Eigenschaft hinzu. Diese Eigenschaft macht das private myCustomTaskPane1-Objekt für andere Klassen verfügbar. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie der MyRibbon-Klasse Code hinzu, die diese Eigenschaft verwendet.
Public ReadOnly Property TaskPane() As Microsoft.Office.Tools.CustomTaskPane Get Return taskPaneValue End Get End Property
public Microsoft.Office.Tools.CustomTaskPane TaskPane { get { return taskPaneValue; } }
Ausblenden und Anzeigen des benutzerdefinierten Aufgabenbereichs durch Verwenden der Umschaltfläche
Der letzte Schritt besteht im Hinzufügen von Code, mit dem der benutzerdefinierte Aufgabenbereich angezeigt oder ausgeblendet wird, wenn der Benutzer auf der Multifunktionsleiste auf die Umschaltfläche klickt.
So zeigen Sie unter Verwendung der Umschaltfläche den benutzerdefinierten Aufgabenbereich an und blenden ihn aus
Doppelklicken Sie im Multifunktionsleisten-Designer auf die Umschaltfläche Aufgabenbereich anzeigen.
Visual Studio Tools for Office generiert automatisch den Ereignishandler toggleButton1_Click, der das Click-Ereignis der Umschaltfläche behandelt. Visual Studio Tools for Office öffnet auch die Datei MyRibbon.cs bzw. MyRibbon.vb im Code-Editor.
Ersetzen Sie den toggleButton1_Click-Ereignishandler durch folgenden Code. Wenn der Benutzer auf die Umschaltfläche klickt, wird mit diesem Code der benutzerdefinierte Aufgabenbereich angezeigt oder ausgeblendet, je nachdem, ob die Umschaltfläche gedrückt wird oder nicht.
Private Sub ToggleButton1_Click(ByVal sender As System.Object, _ ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click Globals.ThisAddIn.TaskPane.Visible = _ TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked End Sub
private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked; }
Testen des Add-Ins
Wenn Sie das Projekt ausführen, wird Excel geöffnet, ohne den benutzerdefinierten Aufgabenbereich anzuzeigen. Klicken Sie auf der Multifunktionsleiste auf die Umschaltfläche, um den Code zu testen.
So testen Sie das Add-In
Drücken Sie F5, um das Projekt auszuführen.
Bestätigen Sie, dass Excel geöffnet wird, und die Registerkarte Add-Ins wird auf der Multifunktionsleiste angezeigt.
Klicken Sie auf der Multifunktionsleiste auf die Registerkarte Add-Ins.
Klicken Sie in der Gruppe Aufgabenbereichs-Manager auf die Umschaltfläche Aufgabenbereich anzeigen.
Überprüfen Sie, ob der Aufgabenbereich abwechselnd angezeigt und ausgeblendet wird, wenn Sie auf die Umschaltfläche klicken.
Wenn der Aufgabenbereich sichtbar ist, klicken Sie in der Ecke des Aufgabenbereichs auf die Schaltfläche Schließen (X).
Überprüfen Sie, ob die Umschaltfläche als nicht gedrückt angezeigt wird.
Nächste Schritte
Weitere Informationen über das Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie in diesen Themen:
Erstellen eines benutzerdefinierten Aufgabenbereichs in einem Add-In für eine andere Anwendung in der Microsoft Office-Version 2007. Weitere Informationen über die Anwendungen, die benutzerdefinierte Aufgabenbereiche unterstützen, finden Sie unter Übersicht über benutzerdefinierte Aufgabenbereiche.
Automatisieren einer Anwendung in einem benutzerdefinierten Aufgabenbereich. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich.
Erstellen eines benutzerdefinierten Aufgabenbereichs für jede E-Mail, die in Outlook geöffnet wird. Weitere Informationen hierzu finden Sie unter Exemplarische Vorgehensweise: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook.
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung
Gewusst wie: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook
Konzepte
Übersicht über benutzerdefinierte Aufgabenbereiche
Verwalten von benutzerdefinierten Aufgabenbereichen in mehreren Anwendungsfenstern