Aktionsbereichsübersicht
Ein Aktionsbereich ist ein anpassbarer Aufgabenbereich Dokumentaktionen, der an ein bestimmtes Microsoft Office Word-Dokument oder eine Microsoft Excel-Arbeitsmappe angefügt wird.Er wird zusammen mit anderen integrierten Aufgabenbereichen, z. B. dem Aufgabenbereich XML-Quelle in Excel oder dem Aufgabenbereich Formatvorlagen und Formatierung in Word, im Aufgabenbereich von Office gehostet.Sie können mit Windows Forms-Steuerelementen oder WPF-Steuerelementen die Benutzeroberfläche von Aktionsbereichen entwerfen.
Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für die folgenden Anwendungen: Excel 2013 und Excel 2010, Word 2013 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
Sie können einen Aktionsbereich für Word oder Excel nur in einer Anpassung auf Dokumentebene erstellen.In einem Add-In auf Anwendungsebene können Sie keinen Aktionsbereich erstellen.Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
Hinweis |
---|
Der Aktionsbereich unterscheidet sich von anderen benutzerdefinierten Aufgabebereichen.Benutzerdefinierte Aufgabenbereiche sind der Anwendung, keinem bestimmten Dokument zugeordnet.Sie können benutzerdefinierte Aufgabenbereiche in Add-Ins auf Anwendungsebene für einige Microsoft Office-Anwendungen erstellen.Weitere Informationen finden Sie unter Benutzerdefinierte Aufgabenbereiche. |
Eine Videodemonstration zu diesem Thema finden Sie unter How Do I: Use WPF Controls Inside an Excel Actions Pane?.
Anzeigen des Aktionsbereichs
Der Aktionsbereich wird durch die ActionsPane-Klasse dargestellt.Wenn Sie ein Projekt auf Dokumentebene erstellen, ist eine Instanz dieser Klasse für Ihren Code über das Feld ActionsPane der ThisWorkbook-Klasse (für Excel) oder der ThisDocument-Klasse (für Word) in Ihrem Projekt verfügbar.Um den Aktionsbereich anzuzeigen, können Sie der Controls-Eigenschaft des ActionsPane-Felds ein Windows Forms-Steuerelement hinzufügen.Im folgenden Codebeispiel wird ein Steuerelement mit dem Namen actions dem Aktionsbereich hinzugefügt.
Me.ActionsPane.Controls.Add(actions)
this.ActionsPane.Controls.Add(actions);
Der Aktionsbereich wird zur Laufzeit sichtbar, sobald Sie dem Aktionsbereich explizit ein Steuerelement hinzufügen.Nachdem ein Aktionsbereich angezeigt wurde, können Sie in Reaktion auf Benutzeraktionen Steuerelemente dynamisch hinzufügen oder entfernen.In der Regel können Sie dem Startup-Ereignishandler von ThisDocument oder von ThisWorkbook Code hinzufügen, um den Aktionsbereich anzuzeigen. Auf diese Weise wird er beim ersten Öffnen des Dokuments angezeigt.Möglicherweise möchten Sie den Aktionsbereich aber auch nur als Reaktion auf Benutzeraktionen im Dokument anzeigen lassen.So könnte es zum Beispiel sein, dass Sie dem Click-Ereignis eines Steuerelements im Dokument Code hinzufügen möchten.
Hinzufügen mehrerer Steuerelemente zum Aktionsbereich
Wenn Sie mehrere Steuerelemente zum Aktionsbereich hinzufügen, ist es in den meisten Fällen ratsam, die Steuerelemente in einem Benutzersteuerelement zu gruppieren und anschließend das Benutzersteuerelement der Controls-Eigenschaft hinzuzufügen.Dieser Prozess beinhaltet die folgenden Schritte:
Erstellen Sie die Benutzeroberfläche des Aktionsbereichs, indem Sie Ihrem Projekt ein Aktionsbereich-Steuerelement oder Benutzersteuerelement hinzufügen.Diese beiden Elemente umfassen eine benutzerdefinierte Windows Forms UserControl-Klasse.Das Aktionsbereich-Steuerelement und das Element Benutzersteuerelement sind äquivalent; der einzige Unterschied ist ihr Name.
Fügen Sie mit dem Designer oder durch Schreiben von Code dem UserControl Windows Forms-Steuerelemente hinzu.
Hinweis Sie können dem Aktionsbereich auch WPF-Steuerelemente hinzufügen, indem Sie ein WPF- System.Windows.Controls.UserControl zu einem Windows Forms UserControl hinzufügen.Weitere Informationen finden Sie unter Verwenden von WPF-Steuerelementen in Office-Projektmappen.
Fügen Sie eine Instanz des benutzerdefinierten Steuerelements den Steuerelementen hinzu, die im Feld ActionsPane der ThisWorkbook-Klasse (für Excel) oder der ThisDocument-Klasse (für Word) in Ihrem Projekt enthalten sind.
Beispiele, die diesen Prozess ausführlich veranschaulicht wird, finden Sie unter Gewusst wie: Hinzufügen eines Aktionsbereichs zu Word-Dokumenten oder Excel-Arbeitsmappen.
Ausblenden des Aktionsbereichs
Obwohl die ActionsPane-Klasse über eine HideMethode und eine Visible-Eigenschaft verfügt, können Sie den Aktionsbereich nicht unter Verwendung von Membern der ActionsPane-Klasse selbst aus der Benutzeroberfläche entfernen.Durch Aufrufen der Hide-Methode oder Festlegen der Visible-Eigenschaft auf den Wert false werden lediglich die Steuerelemente im Aktionsbereich ausgeblendet. Der Aufgabenbereich wird jedoch weiterhin angezeigt.
Um den Aufgabenbereich in der Projektmappe auszublenden, haben Sie mehrere Möglichkeiten:
Legen Sie für Word für die Visible-Eigenschaft des TaskPane-Objekts, die den Aufgabenbereich Dokumentaktionen darstellt, den Wert false fest.Das folgende Codebeispiel soll in der ThisDocument-Klasse im Projekt ausgeführt werden.
Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
Legen Sie für Excel die DisplayDocumentActionTaskPane-Eigenschaft des Application-Objekts auf false fest.Das folgende Codebeispiel soll in der ThisWorkbook-Klasse im Projekt ausgeführt werden.
Me.Application.DisplayDocumentActionTaskPane = False
this.Application.DisplayDocumentActionTaskPane = false;
Für Word oder Excel können Sie alternativ die CommandBar.Visible-Eigenschaft der Befehlsleiste, die den Aufgabenbereich darstellt, auf den Wert false fest.Das folgende Codebeispiel soll in der ThisDocument-Klasse oder in der ThisWorkbook-Klasse im Projekt ausgeführt werden.
Me.Application.CommandBars("Task Pane").Visible = False
this.Application.CommandBars["Task Pane"].Visible = false;
Löschen des Aktionsbereichs beim Öffnen des Dokuments
Wenn der Benutzer das Dokument speichert, während der Aktionsbereich angezeigt wird, ist dieser bei jedem Öffnen des Dokuments sichtbar, unabhängig davon, ob der Aktionsbereich Steuerelemente enthält oder nicht.Wenn Sie steuern möchten, wann der Aktionsbereich angezeigt wird, rufen Sie die Clear-Methode des ActionsPane-Felds im Startup-Ereignishandler von ThisDocument bzw. ThisWorkbook auf, um sicherzustellen, dass der Aktionsbereich beim Öffnen des Dokuments nicht sichtbar ist.
Bestimmen, wann der Aktionsbereich geschlossen wird
Es gibt kein Ereignis, das beim Schließen des Aktionsbereichs ausgelöst wird.Obwohl die ActionsPane-Klasse über ein VisibleChanged-Ereignis verfügt, wird dieses Ereignis nicht ausgelöst, wenn der Endbenutzer den Aktionsbereich schließt.Dieses Ereignis wird stattdessen ausgelöst, wenn die Steuerelemente im Aktionsbereich durch Aufrufen der Hide-Methode oder durch Festlegen von false für die Visible-Eigenschaft ausgeblendet wird.
Wenn der Endbenutzer den Aktionsbereich schließt, kann er ihn erneut anzeigen, indem er eines der folgenden Verfahren auf der Benutzeroberfläche der Anwendung ausführt.
So zeigen Sie den Aktionsbereich über die Benutzeroberfläche von Word oder Excel an
Klicken Sie auf dem Menüband auf die Registerkarte Ansicht.
Klicken Sie in der Gruppe Ein-/Ausblenden auf die Umschaltfläche Dokumentaktionen.
Programmierung der Aktionsbereichsereignisse
Sie können dem Aktionsbereich mehrere Benutzersteuerelemente hinzufügen und dann Code schreiben, um durch Ein- und Ausblenden der Benutzersteuerelemente auf Ereignisse im Dokument reagieren zu können.Durch Zuordnen von XML-Schemaelementen zum Dokument können bestimmte Benutzersteuerelemente im Aktionsbereich angezeigt werden, sobald die Einfügemarke innerhalb eines der XML-Elemente platziert wird.Weitere Informationen finden Sie unter Gewusst wie: Zuordnen von Schemas zu Word-Dokumenten in Visual Studio und Gewusst wie: Zuordnen von Schemas zu Arbeitsblättern in Visual Studio.
Sie können auch Code schreiben, um auf Ereignisse beliebiger Objekte reagieren zu können, einschließlich der Ereignisse von Hoststeuerelementen, Anwendungen oder Dokumenten.Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Programmieren in Abhängigkeit von Ereignissen eines NamedRange-Steuerelements.
Binden von Daten an Steuerelemente im Aktionsbereich
Die Steuerelemente im Aktionsbereich verfügen über dieselben Datenbindungsfähigkeiten wie Windows Forms-Steuerelemente.Sie können die Steuerelemente an Daten wie Datasets, typisierte Datasets und XML binden.Weitere Informationen finden Sie unter Datenbindung und Windows Forms.
Sie können sowohl Aktionsbereichs-Steuerelemente als auch Steuerelemente in Dokumenten an das gleiche Dataset binden.So können Sie beispielsweise eine Master/Detail-Beziehung zwischen den Steuerelementen eines Aktionsbereichs und eines Arbeitsblatts erstellen.Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Bindung von Daten an Steuerelemente in einem Excel-Aktionsbereich.
Überprüfen der Daten in den Aktionsbereich-Steuerelementen auf ihre Gültigkeit
Wenn Sie im Validating-Ereignishandler eines Steuerelements im Aktionsbereich ein Meldungsfeld anzeigen, wird das Ereignis möglicherweise ein zweites Mal ausgelöst, wenn der Fokus vom Steuerelement zum Meldungsfeld wechselt.Um dieses Problem zu vermeiden, können Sie mit einem ErrorProvider-Steuerelement alle Validierungsfehlermeldungen anzeigen.
Stapelreihenfolge der Benutzersteuerelemente
Wenn Sie mehrere Benutzersteuerelemente verwenden, können Sie Code schreiben, um die Benutzersteuerelemente im Aktionsbereich richtig zu stapeln, unabhängig davon, ob er vertikal oder horizontal angedockt ist.Sie können die Stapelreihenfolge der Benutzersteuerelemente im Aktionsbereich mithilfe der StackStyle-Enumeration der StackOrder-Eigenschaft festlegen.Weitere Informationen finden Sie unter Gewusst wie: Verwalten des Steuerelementlayouts in Aktionsbereichen.
Die StackOrder-Eigenschaft kann die folgenden StackStyle-Enumerationswerte verwenden.
Stapelformat |
Definition |
---|---|
FromBottom |
Stapeln vom unteren Bereich des Aktionsbereichs. |
FromLeft |
Stapeln vom linken Bereich des Aktionsbereichs. |
FromRight |
Stapeln vom rechten Bereich des Aktionsbereichs. |
FromTop |
Stapeln vom oberen Bereich des Aktionsbereichs. |
None |
Keine Stapelreihenfolge definiert; Reihenfolge wird vom Entwickler gesteuert. |
Der folgende Code legt die StackOrder-Eigenschaft so fest, dass die Benutzersteuerelemente vom oberen Bereich des Aktionsbereichs an gestapelt werden.
Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop
this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
Verankern von Steuerelementen
Wenn der Benutzer die Größe des Aktionsbereichs zur Laufzeit ändert, können sich die Steuerelemente dieser Größenänderung anpassen.Sie können die Anchor-Eigenschaft eines Windows Forms-Steuerelements zum Verankern von Steuerelementen im Aktionsbereich verwenden.In der gleichen Weise können Sie auch Windows Forms-Steuerelemente im Benutzersteuerelement verankern.Weitere Informationen finden Sie unter Gewusst wie: Verankern von Steuerelementen in Windows Forms.
Ändern der Größe des Aktionsbereichs
Sie können die Größe eines ActionsPane nicht direkt ändern, da der ActionsPane in den Aufgabenbereich eingebettet ist.Die Breite des Aufgabenbereichs kann aber mithilfe der Width-Eigenschaft von CommandBar für den Aufgabenbereich programmgesteuert geändert werden.Sie können die Höhe des Aufgabenbereichs ändern, wenn dieser horizontal angedockt oder unverankert ist.
Das programmgesteuerte Ändern der Größe des Aufgabenbereichs ist im Allgemeinen nicht ratsam, da der Benutzer die Möglichkeit haben sollte, die Größe des Aufgabenbereichs seinen Anforderungen entsprechend anzupassen.Wenn Sie allerdings die Breite des Aufgabenbereichs ändern müssen, können Sie dies mit folgendem Code ausführen.
Me.CommandBars("Task Pane").Width = 200
this.CommandBars["Task Pane"].Width = 200;
Neupositionieren des Aktionsbereichs
Sie können den ActionsPane nicht direkt neu positionieren, da er in den Aufgabenbereich eingebettet ist.Der Aufgabenbereich kann aber mithilfe der Position-Eigenschaft von CommandBar für den Aufgabenbereich programmgesteuert verschoben werden.
Eine programmgesteuerte Neupositionierung des Aufgabenbereichs ist im Allgemeinen nicht ratsam, da der Benutzer die Möglichkeit haben sollte, den Aufgabenbereich seinen Anforderungen entsprechend auf dem Bildschirm zu positionieren.Sie können bei Bedarf jedoch den folgenden Code verwenden, um den Aufgabenbereich an eine bestimmte Position zu verschieben.
Me.CommandBars("Task Pane").Position = _
Microsoft.Office.Core.MsoBarPosition.msoBarLeft
this.CommandBars["Task Pane"].Position =
Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
Hinweis |
---|
Endbenutzer können den Aufgabenbereich jederzeit manuell neu positionieren.Es kann nicht sichergestellt werden, dass der Aufgabenbereich an der Position verbleibt, die Sie programmgesteuert festlegen.Sie können jedoch die Ausrichtung des Aufgabenbereichs überprüfen und sicherstellen, dass die Steuerelemente ordnungsgemäß ausgerichtet sind.Weitere Informationen finden Sie unter Gewusst wie: Verwalten des Steuerelementlayouts in Aktionsbereichen. |
Durch Festlegen der Top-Eigenschaft und der Left-Eigenschaft von ActionsPane wird die Position nicht geändert, da das ActionsPane-Objekt im Aufgabenbereich integriert ist.
Wenn der Aufgabenbereich nicht angedockt ist, können Sie die Top-Eigenschaft und die Left-Eigenschaft von CommandBar für den Aufgabenbereich festlegen.Durch den folgenden Code wird ein nicht angedockter Aufgabenbereich in die linke obere Ecke des Dokuments verschoben.
If Me.CommandBars("Task Pane").Position = _
Microsoft.Office.Core.MsoBarPosition.msoBarFloating Then
Me.CommandBars("Task Pane").Top = 0
Me.CommandBars("Task Pane").Left = 0
End If
if (this.CommandBars["Task Pane"].Position ==
Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
this.CommandBars["Task Pane"].Top = 0;
this.CommandBars["Task Pane"].Left = 0;
}
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen eines Aktionsbereichs zu Word-Dokumenten oder Excel-Arbeitsmappen
Exemplarische Vorgehensweise: Einfügen von Text in ein Dokument aus einem Aktionsbereich
Exemplarische Vorgehensweise: Binden von Daten an Steuerelemente in einem Word-Aktionsbereich
Exemplarische Vorgehensweise: Bindung von Daten an Steuerelemente in einem Excel-Aktionsbereich
Gewusst wie: Verwalten des Steuerelementlayouts in Aktionsbereichen
Exemplarische Vorgehensweise: Einfügen von Text in ein Dokument aus einem Aktionsbereich
Konzepte
Verwenden von WPF-Steuerelementen in Office-Projektmappen
Globaler Zugriff auf Objekte in Office-Projekten