Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aufgabenbereiche sind Benutzeroberflächenbereiche, die in der Regel an eine Seite eines Fensters in einer Microsoft Office-Anwendung angedockt sind. Benutzerdefinierte Aufgabenbereiche bieten Ihnen eine Möglichkeit, Ihren eigenen Aufgabenbereich zu erstellen und Benutzern eine vertraute Benutzeroberfläche für den Zugriff auf die Features Ihrer Lösung bereitzustellen. Beispielsweise kann die Schnittstelle Steuerelemente enthalten, die Code ausführen, um Dokumente zu ändern oder Daten aus einer Datenquelle anzuzeigen.
Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte für Outlook. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Hinweis
Ein benutzerdefinierter Aufgabenbereich unterscheidet sich vom Aktionsbereich. Der Aktionsbereich ist Teil der Anpassungen auf Dokumentebene für Microsoft Office Word und Microsoft Office Excel. Weitere Informationen finden Sie im Übersichtsbereich "Aktionen".
Vorteile von benutzerdefinierten Aufgabenbereichen
Mit benutzerdefinierten Aufgabenbereichen können Sie Ihre Features in eine vertraute Benutzeroberfläche integrieren. Mithilfe von Visual Studio-Tools können Sie schnell einen benutzerdefinierten Aufgabenbereich erstellen.
Vertraute Benutzeroberfläche
Benutzer von Anwendungen im Microsoft Office System sind bereits mit der Verwendung von Aufgabenbereichen wie dem Aufgabenbereich " Formatvorlagen" und "Formatierung " in Word vertraut. Benutzerdefinierte Aufgabenbereiche verhalten sich wie andere Aufgabenbereiche im Microsoft Office System. Benutzer können benutzerdefinierte Aufgabenbereiche an verschiedenen Seiten des Anwendungsfensters andocken, oder sie können benutzerdefinierte Aufgabenbereiche an eine beliebige Position im Fenster ziehen. Sie können ein VSTO-Add-In erstellen, das mehrere benutzerdefinierte Aufgabenbereiche gleichzeitig anzeigt, und Benutzer können jeden Aufgabenbereich einzeln steuern.
Windows Forms-Unterstützung
Die Benutzeroberfläche eines benutzerdefinierten Aufgabenbereichs, den Sie mithilfe der Office-Entwicklungstools in Visual Studio erstellen, basiert auf Windows Forms-Steuerelementen. Sie können den vertrauten Windows Forms-Designer verwenden, um die Benutzeroberfläche für einen benutzerdefinierten Aufgabenbereich zu entwerfen. Sie können auch die Datenbindungsunterstützung in Windows Forms verwenden, um eine Datenquelle an Steuerelemente im Aufgabenbereich zu binden.
Erstellen eines benutzerdefinierten Aufgabenbereichs
Sie können in zwei Schritten einen einfachen benutzerdefinierten Aufgabenbereich erstellen:
Erstellen Sie eine Benutzeroberfläche für Ihren benutzerdefinierten Aufgabenbereich, indem Sie einem UserControl Objekt Windows Forms-Steuerelemente hinzufügen.
Instanziieren Sie den benutzerdefinierten Aufgabenbereich, indem Sie das Benutzersteuerelement an das CustomTaskPaneCollection Objekt in Ihrem VSTO-Add-In ü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 Vorgehensweise: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung.
Erstellen der Benutzeroberfläche
Alle benutzerdefinierten Aufgabenbereiche, die mithilfe der Office-Entwicklungstools in Visual Studio erstellt werden, enthalten ein UserControl Objekt. Dieses Benutzersteuerelement stellt die Benutzeroberfläche Ihres benutzerdefinierten Aufgabenbereichs bereit. Sie können das Benutzersteuerelement zur Entwurfszeit oder zur Laufzeit erstellen. Wenn Sie das Benutzersteuerelement zur Entwurfszeit erstellen, können Sie den Windows Forms-Designer verwenden, um die Benutzeroberfläche Ihres Aufgabenbereichs zu erstellen.
Instanziieren des benutzerdefinierten Aufgabenbereichs
Nachdem Sie ein Benutzersteuerelement erstellt haben, das die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs enthält, müssen Sie ein CustomTaskPane instanzieren. Um dies zu tun, übergeben Sie das Benutzersteuerelement an das CustomTaskPaneCollection in Ihrem VSTO-Add-In, indem Sie eine der Add Methoden aufrufen. Diese Auflistung wird als Feld CustomTaskPanes der ThisAddIn Klasse verfügbar gemacht. Das folgende Codebeispiel soll aus der ThisAddIn Klasse ausgeführt werden.
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.
Steuern des Aufgabenbereichs in mehreren Fenstern
Benutzerdefinierte Aufgabenbereiche sind einem Dokumentrahmenfenster zugeordnet, das dem Benutzer eine Ansicht eines Dokuments oder Elements anzeigt. Der Aufgabenbereich ist nur sichtbar, wenn das zugeordnete Fenster sichtbar ist.
Um zu ermitteln, in welchem Fenster der benutzerdefinierte Aufgabenbereich angezeigt wird, verwenden Sie beim Erstellen des Aufgabenbereichs die entsprechende Add Methodenüberladung:
Verwenden Sie die Add Methode, um den Aufgabenbereich dem aktiven Fenster zuzuordnen.
Verwenden Sie die Add Methode, um den Aufgabenbereich einem Dokument zuzuordnen, das von einem angegebenen Fenster gehostet wird.
Einige Office-Anwendungen erfordern explizite Anweisungen, wann der Aufgabenbereich erstellt oder angezeigt werden soll, wenn mehr als ein Fenster geöffnet ist. Dies macht es wichtig zu berücksichtigen, wo der benutzerdefinierte Aufgabenbereich in Ihrem 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 Anwendungsfenstern.
Greifen Sie auf die Anwendung über den Aufgabenbereich zu.
Wenn Sie die Anwendung über das Benutzersteuerelement automatisieren möchten, können Sie direkt mithilfe Globals.ThisAddIn.Application des Codes auf das Objektmodell zugreifen. Die statische Globals Klasse bietet Zugriff auf das ThisAddIn Objekt. Das Application Feld dieses Objekts ist der Einstiegspunkt in das Objektmodell der Anwendung.
Weitere Informationen zum Application Feld des ThisAddIn Objekts finden Sie unter Programm-VSTO-Add-Ins. Eine exemplarische Vorgehensweise zum Automatisieren einer Anwendung aus einem benutzerdefinierten Aufgabenbereich finden Sie unter Walkthrough: Automatic an application from a custom task pane. Weitere Informationen zur Globals Klasse finden Sie unter globalen 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 zu reagieren, wenn der Benutzer den Aufgabenbereich ändert.
Machen Sie den benutzerdefinierten Aufgabenbereich sichtbar
Standardmäßig ist der Aufgabenbereich nicht sichtbar. Um den Aufgabenbereich sichtbar zu machen, müssen Sie die Visible Eigenschaft auf "true" festlegen.
Benutzer können einen Aufgabenbereich jederzeit schließen, indem Sie in der Ecke des Aufgabenbereichs auf die Schaltfläche " Schließen " (X) klicken. Benutzer können den benutzerdefinierten Aufgabenbereich jedoch nicht erneut öffnen. Wenn ein Benutzer einen benutzerdefinierten Aufgabenbereich schließt, kann dieser Benutzer den benutzerdefinierten Aufgabenbereich nicht erneut anzeigen, es sei denn, Sie bieten eine Möglichkeit, ihn anzuzeigen.
Wenn Sie einen benutzerdefinierten Aufgabenbereich in Ihrem VSTO-Add-In erstellen, sollten Sie auch ein UI-Element erstellen, z. B. eine Schaltfläche, auf die Benutzer klicken können, um Ihren 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 eine Steuerelementgruppe mit einer Schaltfläche hinzufügen, die Ihren benutzerdefinierten Aufgabenbereich anzeigt oder ausblendet. Eine exemplarische Vorgehensweise, die dies veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Menübandschaltfläche.
Wenn Sie einen benutzerdefinierten Aufgabenbereich in einer Microsoft Office-Anwendung erstellen, die das Anpassen des Menübands nicht unterstützt, können Sie ein CommandBarButton hinzufügen, das Ihren benutzerdefinierten Aufgabenbereich anzeigt oder ausblendet.
Ändern Sie die Darstellung des Aufgabenbereichs
Sie können die Größe und Position eines benutzerdefinierten Aufgabenbereichs mithilfe von Eigenschaften des CustomTaskPane Objekts steuern. Sie können viele weitere Änderungen an der Darstellung eines benutzerdefinierten Aufgabenbereichs vornehmen, indem Sie Eigenschaften des UserControl Objekts verwenden, das im benutzerdefinierten Aufgabenbereich enthalten ist. Sie können z. B. ein Hintergrundbild für einen benutzerdefinierten Aufgabenbereich mithilfe der BackgroundImage Eigenschaft des Benutzersteuerelements angeben.
In der folgenden Tabelle sind die Änderungen aufgeführt, die Sie mithilfe von CustomTaskPane Eigenschaften an einem benutzerdefinierten Aufgabenbereich vornehmen können.
| Aufgabe | Eigentum |
|---|---|
| So ändern Sie die Größe des Aufgabenbereichs | Height Width |
| So ändern Sie den Speicherort des Aufgabenbereichs | DockPosition |
| So blenden Sie den Aufgabenbereich aus, oder machen Sie ihn sichtbar | Visible |
| Um zu verhindern, dass der Benutzer den Speicherort des Aufgabenbereichs ändert | DockPositionRestrict |
Programmieren von benutzerdefinierten Aufgabenbereichsereignissen
Möglicherweise möchten Sie, dass Ihr VSTO-Add-In reagiert, wenn der Benutzer den benutzerdefinierten Aufgabenbereich ändert. Wenn der Benutzer beispielsweise die Ausrichtung des Bereichs von vertikal in horizontal ändert, können Sie die Steuerelemente neu positionieren.
In der folgenden Tabelle sind die Ereignisse aufgeführt, die Sie behandeln können, um auf Änderungen zu reagieren, die der Benutzer am benutzerdefinierten Aufgabenbereich vorgibt.
| Aufgabe | Event |
|---|---|
| So reagieren Sie, wenn der Benutzer den Speicherort des Aufgabenbereichs verschiebt. | DockPositionChanged |
| Um zu reagieren, wenn der Benutzer den Aufgabenbereich ausblendet oder sichtbar macht. | VisibleChanged |
Bereinigen von Ressourcen, die vom Aufgabenbereich verwendet werden
Nachdem Sie einen benutzerdefinierten Aufgabenbereich erstellt haben, verbleibt das CustomTaskPane Objekt im Arbeitsspeicher, solange ihr VSTO-Add-In ausgeführt wird. Das Objekt bleibt im Arbeitsspeicher, auch wenn der Benutzer in der Ecke des Aufgabenbereichs auf die Schaltfläche " Schließen " (X) klickt.
Verwenden Sie während das VSTO-Add-In noch ausgeführt wird, die Methoden Remove oder RemoveAt zum Bereinigen von Ressourcen, die vom Aufgabenbereich verwendet werden. Diese Methoden entfernen das angegebene CustomTaskPane Objekt aus der CustomTaskPanes Auflistung, und sie rufen die Dispose Methode des Objekts auf.
Die Visual Studio Tools for Office-Runtime bereinigen automatisch Ressourcen, die vom benutzerdefinierten Aufgabenbereich verwendet werden, wenn das VSTO-Add-In entladen wird. Rufen Sie die Methoden Remove oder RemoveAt nicht im ThisAddIn_Shutdown-Ereignishandler in Ihrem Projekt auf. Diese Methoden werfen eine ObjectDisposedException, da die Visual Studio Tools für Office Runtime die vom CustomTaskPane-Objekt verwendeten Ressourcen bereinigt, bevor ThisAddIn_Shutdown aufgerufen wird. Weitere Informationen ThisAddIn_Shutdownfinden Sie unter "Ereignisse in Office-Projekten".
Verwalten von benutzerdefinierten Aufgabenbereichen in mehreren Anwendungsfenstern
Wenn Sie einen benutzerdefinierten Aufgabenbereich in einer Anwendung erstellen, in der mehrere Fenster zum Anzeigen von Dokumenten und anderen Elementen verwendet werden, müssen Sie zusätzliche Schritte ausführen, um sicherzustellen, dass der Aufgabenbereich sichtbar ist, wenn der Benutzer erwartet, dass er sein wird.
Benutzerdefinierte Aufgabenbereiche in allen Anwendungen sind einem Dokumentrahmenfenster zugeordnet, das dem Benutzer eine Ansicht eines Dokuments oder Elements anzeigt. Der Aufgabenbereich ist nur sichtbar, wenn das zugeordnete Fenster sichtbar ist. Nicht alle Anwendungen verwenden Dokumentrahmenfenster auf die gleiche Weise.
Die folgenden Anwendungsgruppen weisen unterschiedliche Entwicklungsanforderungen auf:
Aussicht
Wenn Sie einen benutzerdefinierten Aufgabenbereich für Outlook erstellen, wird der benutzerdefinierte Aufgabenbereich einem bestimmten Explorer- oder Inspektorfenster zugeordnet. Explorer sind Fenster, die den Inhalt eines Ordners anzeigen, und Inspektoren sind Fenster, in denen ein Element wie eine E-Mail-Nachricht oder eine Aufgabe angezeigt wird.
Wenn Sie einen benutzerdefinierten Aufgabenbereich mit mehreren Explorer- oder Inspektorfenstern anzeigen möchten, müssen Sie beim Öffnen eines Explorer- oder Inspektorfensters eine neue Instanz des benutzerdefinierten Aufgabenbereichs erstellen. Behandeln Sie dazu ein Ereignis, das ausgelöst wird, wenn ein Explorer- oder Inspektorfenster erstellt wird, und erstellen Sie dann den Aufgabenbereich im Ereignishandler. Sie können auch Explorer- und Inspector-Ereignisse behandeln, um Aufgabenbereiche auszublenden oder anzuzeigen, je nachdem, welches Fenster sichtbar ist.
Um den Aufgabenbereich einem bestimmten Explorer oder Inspektor zuzuordnen, verwenden Sie die Add Methode, um den Aufgabenbereich zu erstellen und das Explorer Objekt Inspector an den Fensterparameter zu übergeben. Weitere Informationen zum Erstellen benutzerdefinierter Aufgabenbereiche finden Sie unter Übersicht über benutzerdefinierte Aufgabenbereiche.
-
Um den Status von Inspektorfenstern zu überwachen, können Sie die folgenden Inspektor-bezogenen Ereignisse behandeln:
Verhindern mehrerer Instanzen eines benutzerdefinierten Aufgabenbereichs in Outlook
Um zu verhindern, dass Outlook-Fenster mehrere Instanzen eines benutzerdefinierten Aufgabenbereichs anzeigen, entfernen Sie den benutzerdefinierten Aufgabenbereich explizit aus der CustomTaskPanes Auflistung der ThisAddIn Klasse, wenn jedes Fenster geschlossen wird. Rufen Sie die Remove-Methode in einem Ereignis auf, das ausgelöst wird, wenn ein Fenster geschlossen wird, wie z. B. Close oder Close.
Wenn Sie den benutzerdefinierten Aufgabenbereich nicht explizit entfernen, werden in Outlook-Fenster möglicherweise mehrere Instanzen des benutzerdefinierten Aufgabenbereichs angezeigt. Outlook verwertet manchmal Fenster wieder, und die wiederverwerteten Fenster behalten die Verweise auf benutzerdefinierte Aufgabenbereiche bei, die an sie angefügt wurden.
Word, InfoPath und PowerPoint
Word, InfoPath und PowerPoint zeigen jedes Dokument in einem anderen Dokumentrahmenfenster an. Wenn Sie einen benutzerdefinierten Aufgabenbereich für diese Anwendungen erstellen, wird der benutzerdefinierte Aufgabenbereich nur einem bestimmten Dokument zugeordnet. Wenn der Benutzer ein anderes Dokument öffnet, wird der benutzerdefinierte Aufgabenbereich ausgeblendet, bis das frühere 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 Dokumentereignisse auch behandeln, um Aufgabenbereiche auszublenden oder anzuzeigen, je nachdem, welches Dokument sichtbar ist.
Um den Aufgabenbereich einem bestimmten Dokumentfenster zuzuordnen, verwenden Sie die Add Methode, um den Aufgabenbereich zu erstellen, und übergeben Sie einen Window (für Word), WindowObject (für InfoPath) oder DocumentWindow (für PowerPoint) an den Fensterparameter .
Word-Ereignisse
Um den Status von Dokumentfenstern in Word zu überwachen, können Sie die folgenden Ereignisse behandeln:
InfoPath-Ereignisse
Um den Status von Dokumentfenstern in InfoPath zu überwachen, können Sie die folgenden Ereignisse behandeln:
PowerPoint-Ereignisse
Um den Status von Dokumentfenstern in PowerPoint zu überwachen, können Sie die folgenden Ereignisse behandeln:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate
Verwandte Inhalte
- Vorgehensweise: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung
- Anleitung: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich
- Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Menübandschaltfläche
- Exemplarische Vorgehensweise: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mail-Nachrichten in Outlook