Freigeben über


Benutzerdefinierte Aufgabenbereiche

Aufgabenbereiche sind Bereiche der Benutzeroberfläche, die i. d. R. an eine Seite eines Fensters in einer Microsoft Office-Anwendung angedockt sind.Mit benutzerdefinierten Aufgabenbereichen können Sie einen eigenen Aufgabenbereich erstellen und Benutzern eine vertraute Oberfläche für den Zugriff auf die Features Ihrer Projektmappe zur Verfügung stellen.Die Oberfläche kann beispielsweise Steuerelemente enthalten, die Code zum Ändern von Dokumenten oder zum Anzeigen von Daten aus einer Datenquelle ausführen.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Anwendungsebene für Outlook 2013 und Outlook 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

HinweisHinweis

Ein benutzerdefinierter Aufgabenbereich ist nicht das gleiche wie der Aktionsbereich.Der Aktionsbereich ist Bestandteil von Anpassungen auf Dokumentebene für Microsoft Office Word und Microsoft Office Excel.Weitere Informationen finden Sie unter Aktionsbereichsübersicht.

Vorteile von benutzerdefinierten Aufgabenbereichen

Mit benutzerdefinierten Aufgabenbereichen können Sie Features in eine vertraute Benutzeroberfläche integrieren.Sie können mit Visual Studio-Tools schnell einen benutzerdefinierten Aufgabenbereich erstellen.

Aa942864.collapse_all(de-de,VS.110).gifVertraute Benutzeroberfläche

Benutzer von Anwendungen in Microsoft Office System sind bereits mit der Verwendung von Aufgabenbereichen (z. B. dem Aufgabenbereich Formatvorlagen und Formatierung in Word) vertraut.Das Verhalten von benutzerdefinierten Aufgabenbereichen entspricht dem Verhalten anderer Aufgabenbereiche in Microsoft Office System.Benutzer können benutzerdefinierte Aufgabenbereiche an verschiedene Seiten des Anwendungsfensters andocken oder sie an eine beliebige Position im Fenster ziehen.Sie können ein Add-In erstellen, das mehrere benutzerdefinierte Aufgabenbereiche gleichzeitig anzeigt, wobei die Benutzer jeden Aufgabenbereich einzeln steuern können.

Aa942864.collapse_all(de-de,VS.110).gifWindows Forms-Unterstützung

Die Benutzeroberfläche eines benutzerdefinierten Aufgabenbereichs, den Sie mit den Office-Entwicklungstools in Visual Studio erstellen, basiert auf Windows Forms-Steuerelementen.Sie können zum Entwerfen der Benutzeroberfläche für einen benutzerdefinierten Aufgabenbereich den vertrauten Windows Forms-Designer verwenden.Sie können auch die Unterstützung von Datenbindung in Windows Forms nutzen, um eine Datenquelle an Steuerelemente im Aufgabenbereich zu binden.

Erstellen eines benutzerdefinierten Aufgabenbereichs

Ein einfacher benutzerdefinierter Aufgabenbereich kann in zwei Schritten erstellt werden:

  1. Erstellen Sie eine Benutzeroberfläche für den benutzerdefinierten Aufgabenbereich, indem Sie einem UserControl-Objekt Windows Forms-Steuerelemente hinzufügen.

  2. Instanziieren Sie den benutzerdefinierten Aufgabenbereich, indem Sie das Benutzersteuerelement im Add-In an das CustomTaskPaneCollection-Objekt übergeben.Diese Auflistung gibt ein neues CustomTaskPane-Objekt zurück, mit dem Sie die Darstellung des Aufgabenbereichs ändern und auf Benutzerereignisse reagieren können.

Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung.

Aa942864.collapse_all(de-de,VS.110).gifErstellen der Benutzeroberfläche

Alle benutzerdefinierten Aufgabenbereiche, die mit den Office-Entwicklungstools in Visual Studio erstellt werden, enthalten ein UserControl-Objekt.Dieses Benutzersteuerelement stellt die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs bereit.Sie können das Benutzersteuerelement zur Entwurfszeit oder zur Laufzeit erstellen.Wenn Sie das Benutzersteuerelement zur Entwurfszeit erstellen, können Sie die Benutzeroberfläche des Aufgabenbereichs mit dem Windows Forms-Designer entwerfen.

Aa942864.collapse_all(de-de,VS.110).gifInstanziieren des benutzerdefinierten Aufgabenbereichs

Nachdem Sie ein Benutzersteuerelement erstellt haben, das die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs enthält, müssen Sie eine CustomTaskPane instanziieren.Übergeben Sie hierfür das Benutzersteuerelement an die CustomTaskPaneCollection im Add-In, indem Sie eine der Add-Methoden aufrufen.Diese Auflistung wird als CustomTaskPanes-Feld der ThisAddIn-Klasse verfügbar gemacht.Das folgende Codebeispiel soll in der ThisAddIn-Klasse ausgeführt werden.

myUserControl1 = New MyUserControl
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "My Task Pane")
myCustomTaskPane.Visible = True
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Die Add-Methoden geben ein neues CustomTaskPane-Objekt zurück.Sie können dieses Objekt verwenden, um die Darstellung des Aufgabenbereichs zu ändern und auf Benutzerereignisse zu reagieren.

Aa942864.collapse_all(de-de,VS.110).gifSteuern des Aufgabenbereichs in mehreren Fenstern

Benutzerdefinierte Aufgabenbereiche sind einem Dokumentrahmenfenster zugeordnet, das eine Ansicht eines Dokuments oder Elements für den Benutzer enthält.Der Aufgabenbereich ist nur sichtbar, wenn das zugeordnete Fenster sichtbar ist.

Um zu bestimmen, in welchem Fenster der benutzerdefinierte Aufgabenbereich angezeigt wird, verwenden Sie die entsprechende Add-Methodenüberladung beim Erstellen des Aufgabenbereichs:

Wenn mehrere Fenster geöffnet sind, erfordern einige Office-Anwendungen explizite Anweisungen dazu, wann der Aufgabenbereich erstellt oder angezeigt werden soll.Damit ist die Überlegung wichtig, wo der benutzerdefinierte Aufgabenbereich im Code instanziiert werden soll, um sicherzustellen, dass der Aufgabenbereich mit den entsprechenden Dokumenten oder Elementen in der Anwendung angezeigt wird.Weitere Informationen finden Sie unter Verwalten von benutzerdefinierten Aufgabenbereichen in den Anwendungsfenstern.

Zugreifen auf die Anwendung im Aufgabenbereich

Wenn Sie die Anwendung über das Benutzersteuerelement automatisieren möchten, können Sie mithilfe von Globals.ThisAddIn.Application im Code direkt auf das Objektmodell zugreifen.Die statische Globals-Klasse ermöglicht den Zugriff auf das ThisAddIn-Objekt.Das Application-Feld dieses Objekts ist der Einstiegspunkt in das Objektmodell der Anwendung.

Weitere Informationen über das Application-Feld des ThisAddIn-Objekts finden Sie unter Programmieren von Add-Ins auf Anwendungsebene.Eine exemplarische Vorgehensweise, in der das Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich veranschaulicht wird, finden Sie unter Exemplarische Vorgehensweise: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich.Weitere Informationen über die Globals-Klasse finden Sie unter Globaler Zugriff auf Objekte in Office-Projekten.

Verwalten der Benutzeroberfläche des Aufgabenbereichs

Nachdem Sie den Aufgabenbereich erstellt haben, können Sie Eigenschaften und Ereignisse des CustomTaskPane-Objekts verwenden, um die Benutzeroberfläche des Aufgabenbereichs zu steuern und auf Änderungen des Aufgabenbereichs durch Benutzer zu reagieren.

Aa942864.collapse_all(de-de,VS.110).gifSichtbarmachen des benutzerdefinierten Aufgabenbereichs

Der Aufgabenbereich ist standardmäßig nicht sichtbar.Um den Aufgabenbereich sichtbar zu machen, müssen Sie die Visible-Eigenschaft auf true festlegen.

Benutzer können einen Aufgabenbereich jederzeit durch Klicken auf die Schaltfläche Schließen (X) in der Ecke des Aufgabenbereichs schließen.Es gibt jedoch kein Standardverfahren für das erneute Öffnen des benutzerdefinierten Aufgabenbereichs durch die Benutzer.Wenn ein Benutzer einen benutzerdefinierten Aufgabenbereich schließt, kann dieser Benutzer den benutzerdefinierten Aufgabenbereich nur erneut anzeigen, wenn Sie ein Verfahren zum Anzeigen des Aufgabenbereichs bereitstellen.

Wenn Sie im Add-In einen benutzerdefinierten Aufgabenbereich erstellen, sollten Sie auch ein Benutzeroberflächenelement, z. B. eine Schaltfläche, erstellen, auf das Benutzer klicken können, um den benutzerdefinierten Aufgabenbereich anzuzeigen oder auszublenden.Wenn Sie einen benutzerdefinierten Aufgabenbereich in einer Microsoft Office-Anwendung erstellen, die das Anpassen des Menübands unterstützt, können Sie dem Menüband ein benutzerdefiniertes Steuerelement mit einer Schaltfläche hinzufügen, über die der benutzerdefinierte Aufgabenbereich angezeigt und ausgeblendet wird.Eine exemplarische Vorgehensweise zur Veranschaulichung finden Sie unter Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Multifunktionsleistenschaltfläche.

Wenn Sie einen benutzerdefinierten Aufgabenbereich in einer Microsoft Office-Anwendung erstellen, die das Anpassen des Menübands nicht unterstützt, können Sie einen CommandBarButton hinzufügen, mit dem der benutzerdefinierte Aufgabenbereich angezeigt und ausgeblendet wird.

Aa942864.collapse_all(de-de,VS.110).gifÄndern der Darstellung des Aufgabenbereichs

Die Größe und Position eines benutzerdefinierten Aufgabenbereichs können mithilfe der Eigenschaften des CustomTaskPane-Objekts gesteuert werden.Mit Eigenschaften des UserControl-Objekts, das im benutzerdefinierten Aufgabenbereich enthalten ist, können Sie weitere Änderungen an der Darstellung eines benutzerdefinierten Aufgabenbereichs vornehmen.Beispielsweise können Sie mit der BackgroundImage-Eigenschaft des Benutzersteuerelements ein Hintergrundbild für einen benutzerdefinierten Aufgabenbereich angeben.

In der folgenden Tabelle werden die Änderungen aufgelistet, die Sie mithilfe von CustomTaskPane-Eigenschaften an einem benutzerdefinierten Aufgabenbereich vornehmen können.

Aufgabe

Eigenschaft

So ändern Sie die Größe des Aufgabenbereichs

Height

Width

So ändern Sie die Position des Aufgabenbereichs

DockPosition

So blenden Sie den Aufgabenbereich aus oder machen ihn sichtbar

Visible

So verhindern Sie das Ändern der Position des Aufgabenbereichs durch Benutzer

DockPositionRestrict

Aa942864.collapse_all(de-de,VS.110).gifProgrammieren von Ereignissen des benutzerdefinierten Aufgabenbereichs

Sie können festlegen, dass das Add-In auf Änderungen des benutzerdefinierten Aufgabenbereichs durch den Benutzer reagiert.Wenn der Benutzer beispielsweise die Ausrichtung des Bereichs von vertikal in horizontal ändert, sollen möglicherweise die Steuerelemente neu positioniert werden.

In der folgenden Tabelle sind die Ereignisse aufgeführt, die Sie behandeln können, um auf Änderungen von Benutzern am benutzerdefinierten Aufgabenbereich zu reagieren.

Aufgabe

Ereignis

Reagieren auf Änderungen der Position des Aufgabenbereichs durch Benutzer

DockPositionChanged

Reagieren auf das Ausblenden oder Sichtbarmachen des Aufgabenbereichs durch Benutzer

VisibleChanged

Bereinigen von vom Aufgabenbereich verwendeten Ressourcen

Nachdem Sie einen benutzerdefinierten Aufgabenbereich erstellt haben, bleibt das CustomTaskPane-Objekt so lange im Arbeitsspeicher, wie das Add-In ausgeführt wird.Das Objekt bleibt selbst dann im Arbeitsspeicher, wenn der Benutzer auf die Schaltfläche Schließen (X) in der Ecke des Aufgabenbereichs klickt.

Um vom Aufgabenbereich verwendete Ressourcen zu bereinigen, während das Add-In noch ausgeführt wird, verwenden Sie die Methoden Remove oder RemoveAt.Diese Methoden entfernen das angegebene CustomTaskPane-Objekt aus der CustomTaskPanes-Auflistung und rufen die Dispose-Methode des Objekts auf.

Die Visual Studio-Tools für Office-Laufzeit bereinigt automatisch Ressourcen, die vom benutzerdefinierten Aufgabenbereich verwendet werden, wenn das Add-In entladen wird.Rufen Sie die Methoden Remove oder RemoveAt im ThisAddIn_Shutdown-Ereignishandler in Ihrem Projekt nicht auf.Diese Methoden lösen eine ObjectDisposedException aus, da die Visual Studio-Tools für Office-Laufzeit Ressourcen bereinigt, die vom CustomTaskPane-Objekt verwendet werden, bevor ThisAddIn_Shutdown aufgerufen wird.Weitere Informationen zu ThisAddIn_Shutdown finden Sie unter Ereignisse in Office-Projekten.

Verwalten von benutzerdefinierten Aufgabenbereichen in mehreren Anwendungsfenstern

Wenn Sie einen benutzerdefinierten Aufgabenbereich in einer Anwendung erstellen, die mehrere Fenster zum Anzeigen von Dokumenten und anderen Elementen verwendet, müssen Sie in zusätzlichen Schritten sicherstellen, dass der Aufgabenbereich sichtbar ist, wenn der Benutzer es erwartet.

Benutzerdefinierte Aufgabenbereiche sind in allen Anwendungen einem Dokumentrahmenfenster zugeordnet, das eine Ansicht eines Dokuments oder Elements für den Benutzer enthält.Der Aufgabenbereich ist nur sichtbar, wenn das zugeordnete Fenster sichtbar ist.Nicht alle Anwendungen verwenden Dokumentrahmenfenster aber auf die gleiche Weise.

Für die folgenden Anwendungsgruppen gelten unterschiedliche Entwicklungsanforderungen:

  • Outlook

  • Word, InfoPath und PowerPoint

Link zu Video Eine entsprechende Video finden Sie unter How Do I: Manage Task Panes in Word Add-ins?.

Outlook

Wenn Sie einen benutzerdefinierten Aufgabenbereich für Outlook erstellen, ist dieser einem bestimmten Explorer- oder Inspektor-Fenster zugeordnet.Explorer-Fenster sind Fenster, die den Inhalt eines Ordner anzeigen. Inspektor-Fenster sind Fenster, die ein Element, z. B. eine E-Mail oder eine Aufgabe, anzeigen.

Wenn Sie einen benutzerdefinierten Aufgabenbereich mit mehreren Explorer- oder Inspektor-Fenstern anzeigen möchten, müssen Sie eine neue Instanz des benutzerdefinierten Aufgabenbereichs erstellen, wenn ein neues Explorer- oder Inspektor-Fenster geöffnet wird.Behandeln Sie dazu ein Ereignis, das ausgelöst wird, wenn ein Explorer- oder Inspektor-Fenster erstellt wird, und erstellen Sie dann den Aufgabenbereich im Ereignishandler.Sie können auch Explorer- und Inspektor-Ereignisse behandeln, um Aufgabenbereiche abhängig davon auszublenden oder anzuzeigen, welches Fenster angezeigt wird.

Um den Aufgabenbereich einem bestimmten Explorer oder Inspektor zuzuordnen, verwenden Sie die CustomTaskPaneCollection.Add(UserControl, String, Object)-Methode zum Erstellen des Aufgabenbereichs, und übergeben Sie das Explorer-Objekt oder Inspector-Objekt an den window-Parameter.Weitere Informationen zum Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie unter Benutzerdefinierte Aufgabenbereiche.

Eine exemplarische Vorgehensweise, die das Erstellen eines Aufgabenbereichs für jede geöffnete E-Mail veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook.

Aa942864.collapse_all(de-de,VS.110).gifOutlook-Ereignisse

Um den Zustand von Explorer-Fenstern zu überwachen, können Sie die folgenden Explorer-bezogenen Ereignisse behandeln:

Um den Zustand von Inspektor-Fenstern zu überwachen, können Sie die folgenden Inspektor-bezogenen Ereignisse behandeln:

Aa942864.collapse_all(de-de,VS.110).gifVerhindern von mehreren Instanzen eines benutzerdefinierten Aufgabenbereichs in Outlook

Um zu verhindern, dass in Outlook-Fenstern mehrere Instanzen eines benutzerdefinierten Aufgabenbereichs angezeigt werden, müssen Sie den benutzerdefinierten Aufgabenbereich explizit aus der CustomTaskPanes-Auflistung der ThisAddIn-Klasse entfernen, wenn die einzelnen Fenster geschlossen werden.Rufen Sie die Remove-Methode in einem Ereignis auf, das beim Schließen eines Fensters ausgelöst wird, z. B. ExplorerEvents_10_Event.Close oder InspectorEvents_10_Event.Close.

Wenn Sie den benutzerdefinierten Aufgabenbereich nicht explizit entfernen, werden in Outlook-Fenstern möglicherweise mehrere Instanzen des benutzerdefinierten Aufgabenbereichs angezeigt.Fenster werden in Outlook gelegentlich wiederverwendet, und in wiederverwendeten Fenstern werden Verweise auf benutzerdefinierte Aufgabenbereiche beibehalten, die an die Fenster angefügt waren.

Word, InfoPath und PowerPoint

Word, InfoPath und PowerPoint-Anzeige jedes Dokument in einem anderen Dokumentrahmenfenster.Wenn Sie einen benutzerdefinierten Aufgabenbereich für diese Anwendungen erstellen, ist dieser nur einem bestimmten Dokument zugeordnet.Wenn der Benutzer ein anderes Dokument öffnet, wird der benutzerdefinierte Aufgabenbereich ausgeblendet, bis das vorherige Dokument wieder sichtbar ist.

Wenn Sie einen benutzerdefinierten Aufgabenbereich mit mehreren Dokumenten anzeigen möchten, erstellen Sie eine neue Instanz des benutzerdefinierten Aufgabenbereichs, wenn der Benutzer ein neues Dokument erstellt oder ein vorhandenes Dokument öffnet.Behandeln Sie dazu Ereignisse, die ausgelöst werden, wenn ein Dokument erstellt oder geöffnet wird, und erstellen Sie dann den Aufgabenbereich in den Ereignishandlern.Sie können auch Dokumentereignisse behandeln, um Aufgabenbereiche abhängig davon auszublenden oder anzuzeigen, welches Dokument angezeigt wird.

Um den Aufgabenbereich einem bestimmten Dokumentfenster zuordnen, die CustomTaskPaneCollection.Add(UserControl, String, Object)-Methode verwenden, um den Aufgabenbereich zu erstellen, und Microsoft.Office.Interop.Word.Window (für Word), Microsoft.Office.Interop.InfoPath.WindowObject (für InfoPath) oder Microsoft.Office.Interop.PowerPoint.DocumentWindow (für PowerPoint) an den window-Parameter übergeben.

Aa942864.collapse_all(de-de,VS.110).gifWord-Ereignisse

Um den Zustand von Dokumentfenstern in Word zu überwachen, können Sie die folgenden Ereignisse behandeln:

Aa942864.collapse_all(de-de,VS.110).gifInfoPath-Ereignisse

Um den Zustand von Dokumentfenstern in InfoPath zu überwachen, können Sie die folgenden Ereignisse behandeln:

Aa942864.collapse_all(de-de,VS.110).gifPowerPoint-Ereignisse

Um den Zustand von Dokumentfenstern in PowerPoint zu überwachen, können Sie die folgenden Ereignisse behandeln:

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung

Exemplarische Vorgehensweise: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich

Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Multifunktionsleistenschaltfläche

Exemplarische Vorgehensweise: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook