Übersicht über den Aktionsbereich

Ein Aktionsbereich ist ein anpassbarer Aufgabenbereich für Dokumentaktionen , der an ein bestimmtes Microsoft Office Word-Dokument oder eine Microsoft Office Excel-Arbeitsmappe angefügt ist. Der Aktionsbereich wird zusammen mit anderen integrierten Aufgabenbereichen im Office-Aufgabenbereich gehostet, z. B. im Aufgabenbereich "XML-Quelle " in Excel oder im Aufgabenbereich "Formatvorlagen und Formatierung " in Word. Sie können Windows Forms-Steuerelemente oder WPF-Steuerelemente verwenden, um die Benutzeroberfläche des Aktionsbereichs zu gestalten.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene für Excel und Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

Sie können einen Aktionsbereich nur in einer Anpassung auf Dokumentebene für Word oder Excel erstellen. In einem VSTO-Add-In können Sie keinen Aktionsbereich erstellen. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

Hinweis

Der Aktionsbereich unterscheidet sich von benutzerdefinierten Aufgabenbereichen. Benutzerdefinierte Aufgabenbereiche sind der Anwendung und keinem bestimmten Dokument zugeordnet. Sie können benutzerdefinierte Aufgabenbereiche in VSTO-Add-Ins für einige Microsoft Office-Anwendungen erstellen. Weitere Informationen finden Sie unter "Benutzerdefinierte Aufgabenbereiche".

Anzeigen des Aktionsbereichs

Der Aktionsbereich wird durch die ActionsPane-Klasse dargestellt. Wenn Sie ein Projekt auf Dokumentebene erstellen, machen Sie eine Instanz dieser Klasse für Ihren Code verfügbar, indem Sie das ActionsPane-Feld der ThisWorkbook-Klasse (für Excel) oder der ThisDocument-Klasse (für Word) im Projekt verwenden. Um den Aktionsbereich anzuzeigen, fügen Sie der Controls-Eigenschaft des ActionsPane-Felds ein Windows Forms-Steuerelement hinzu. Durch das folgende Codebeispiel wird dem Aktionsbereich ein Steuerelement namens actions hinzugefügt.

this.ActionsPane.Controls.Add(actions);

Der Aktionsbereich wird zur Laufzeit sichtbar, sobald Sie ihr explizit ein Steuerelement hinzufügen. Sobald der Aktionsbereich angezeigt wird, können Sie dynamisch Steuerelemente in Reaktion auf Benutzeraktionen dynamisch hinzufügen oder entfernen. Normalerweise fügen Sie den Code hinzu, um den Aktionsbereich im Startup-Ereignishandler von ThisDocument oder ThisWorkbook anzuzeigen, damit der Aktionsbereich sichtbar ist, wenn der Benutzer das Dokument erstmalig öffnet. Sie können den Aktionsbereich jedoch auch ausschließlich als Reaktion auf eine Benutzeraktion im Dokument anzeigen. Sie können den Code beispielsweise zum Click-Ereignis eines Steuerelements im Dokument hinzufügen.

Hinzufügen mehrerer Steuerelemente zum Aktionsbereich

Wenn Sie dem Aktionsbereich mehrere Steuerelemente hinzufügen, sollten Sie die Steuerelemente in einem Benutzersteuerelement gruppieren und dann der Controls Eigenschaft das Benutzersteuerelement hinzufügen. Dieser Vorgang umfasst die folgenden Schritte:

  1. Erstellen Sie die Benutzeroberfläche (UI) des Aktionsbereichs, indem Sie Ihrem Projekt ein Steuerelement für den Aktionsbereich oder ein Benutzersteuerelement hinzufügen. Beide Elemente umfassen eine benutzerdefinierte Windows Forms-UserControl-Klasse. Die Elemente "Aktionenbereichsteuerelement" und "Benutzersteuerung " sind gleichwertig. Der einzige Unterschied ist der Name.

  2. Fügen Sie dem UserControl Windows Forms-Steuerelemente durch Verwendung des Designers oder durch Schreiben von Code hinzu.

    Hinweis

    Sie können dem Aktionsbereich auch WPF-Steuerelemente hinzufügen, indem Sie dem Windows Forms-UserControl ein WPF-UserControl hinzufügen. Weitere Informationen finden Sie unter Verwenden von WPF-Steuerelementen in Office-Lösungen.

  3. Fügen Sie den im ActionsPane-Feld enthaltenen Steuerelementen der ThisWorkbook-Klasse (für Excel) oder der ThisDocument-Klasse (für Word) eine Instanz des benutzerdefinierten Steuerelements im Projekt hinzu.

    Beispiele, die diesen Prozess ausführlicher veranschaulichen, finden Sie unter Vorgehensweise: Hinzufügen eines Aktionsbereichs zu Word-Dokumenten oder Excel-Arbeitsmappen.

Ausblenden des Aktionsbereichs

Obwohl die ActionsPane-Klasse über eine Hide-Methode und eine Visible-Eigenschaft verfügt, können Sie den Aktionsbereich nicht von der Benutzeroberfläche entfernen, indem Sie einen beliebigen Member der ActionsPane-Klasse selbst verwenden. Wenn Sie die Hide Methode aufrufen oder die Visible Eigenschaft auf "false " festlegen, werden nur die Steuerelemente im Aktionsbereich ausgeblendet. Der Aufgabenbereich wird nicht ausgeblendet.

Um den Aufgabenbereich in der Projektmappe auszublenden, haben Sie mehrere Optionen:

  • Legen Sie für Word die Visible Eigenschaft des TaskPane Objekts fest, das den Aufgabenbereich "Dokumentaktionen" auf "false" darstellt. Das folgende Codebeispiel sollte von der ThisDocument-Klasse im Projekt ausgeführt werden.

    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 sollte von der ThisWorkbook-Klasse im Projekt ausgeführt werden.

    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Bei Word oder Excel können Sie alternativ die Visible Eigenschaft der Befehlsleiste festlegen, die den Aufgabenbereich auf "false" darstellt. Das folgende Codebeispiel sollte von der ThisDocument-Klasse oder ThisWorkbook-Klasse im Projekt ausgeführt werden.

    this.Application.CommandBars["Task Pane"].Visible = false;
    

Löschen des Aktionsbereichs beim Öffnen des Dokuments

Wenn ein Benutzer das Dokument speichert, während der Aktionsbereich sichtbar ist, wird der Aktionsbereich jedes Mal angezeigt, wenn das Dokument geöffnet wird, unabhängig davon, ob der Aktionsbereich Steuerelemente enthält. Wenn Sie die Anzeige steuern möchten, rufen Sie die Clear-Methode des ActionsPane-Felds im Startup-Ereignishandler von ThisDocument oder ThisWorkbook ab, 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. Stattdessen wird dieses Ereignis ausgelöst, wenn die Steuerelemente im Aktionsbereich ausgeblendet werden, indem die Hide Methode aufgerufen oder die Visible Eigenschaft auf "false" festgelegt wird.

Wenn der Benutzer den Aktionsbereich schließt, kann der Benutzer ihn erneut anzeigen, indem er eines der folgenden Verfahren auf der Benutzeroberfläche der Anwendung ausführt.

So zeigen Sie den Aktionsbereich mithilfe der Benutzeroberfläche von Word oder Excel an
  1. Klicken Sie im Menüband auf die Registerkarte "Ansicht ".

  2. Klicken Sie in der Gruppe "Einblenden/Ausblenden " auf die Umschaltfläche "Dokumentaktionen ".

Programmaktionenbereichsereignisse

Sie können dem Aktionsbereich mehrere Benutzersteuerelemente hinzufügen und dann Code schreiben, der durch Ein- oder Ausblenden der Benutzersteuerelemente auf Ereignisse im Dokument reagiert. Wenn Sie Ihrem Dokument XML-Schemaelemente zuordnen, können Sie bestimmte Benutzersteuerelemente im Aktionsbereich einblenden, sobald sich der Einfügepunkt innerhalb eines der XML-Elemente befindet. Weitere Informationen finden Sie unter How to: Map schemas to Word documents inside Visual Studio and How to: Map schemas to worksheets inside Visual Studio.

Sie können auch Code schreiben, der auf Ereignisse eines beliebigen Objekts, z. B. Hoststeuerelement-, Anwendungs- oder Dokumentereignisse, reagiert. Weitere Informationen finden Sie unter Walkthrough: Program against events of a NamedRange control.

Binden von Daten an Steuerelemente im Aktionsbereich

Die Steuerelemente im Aktionsbereich haben die gleichen Datenbindungsfunktionen wie Steuerelemente in Windows Forms. Sie können die Steuerelemente an Datenquellen wie Datasets, typisierte Datasets und XML binden. Weitere Informationen finden Sie unter Datenbindung und Windows Forms.

Sie können Steuerelemente im Aktionsbereich und Steuerelemente im Dokument an das gleiche Dataset binden. Beispielsweise können Sie eine Master-/Detailbeziehung zwischen den Steuerelementen im Aktionsbereich und den Steuerelementen im Arbeitsblatt erstellen. Weitere Informationen finden Sie unter Walkthrough: Binden von Daten an Steuerelemente in einem Excel-Aktionsbereich.

Überprüfen von Daten in Aktionsbereich-Steuerelementen

Wenn Sie ein Meldungsfeld im Validating-Ereignishandler eines Steuerelements im Aktionsbereich anzeigen, kann das Ereignis ein zweites Mal ausgelöst werden, wenn sich der Fokus vom Steuerelement auf das Meldungsfeld verlagert. Um dies zu verhindern, verwenden Sie ein ErrorProvider-Steuerelement zum Anzeigen von Überprüfungsfehlermeldungen.

Stapelreihenfolge für Benutzersteuerelemente

Wenn Sie mehrere Benutzersteuerelemente verwenden, können Sie Code schreiben, durch den die Benutzersteuerelemente im Aktionsbereich – ob vertikal oder horizontal angedockt – richtig gestapelt werden. Sie können die Stapelreihenfolge der Benutzersteuerelemente im Aktionsbereich mithilfe der StackStyle-Enumeration der StackOrder-Eigenschaft festlegen. Weitere Informationen finden Sie unter How to: Manage control layout on actions panes.

Die StackOrder-Eigenschaft akzeptiert die folgenden StackStyle-Enumerationswerte.

Stapelstil Definition
FromBottom Stapelt vom unteren Rand des Aktionsbereichs.
FromLeft Stapelt vom linken Rand des Aktionsbereichs.
FromRight Stapelt vom rechten Rand des Aktionsbereichs.
FromTop Stapelt von oberen Rand des Aktionsbereichs.
Keine Es wurde keine Stapelreihenfolge definiert; die Reihenfolge wird vom Entwickler gesteuert.

Im folgenden Code wird die StackOrder-Eigenschaft festgelegt, um die Benutzersteuerelemente vom oberen Rand des Aktionsbereichs zu stapeln.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Ankersteuerelemente

Wenn der Benutzer die Größe des Aktionsbereichs zur Laufzeit ändert, können die Steuerelemente die Größe des Aktionsbereichs ändern. Sie können die Anchor-Eigenschaft eines Windows Forms-Steuerelements verwenden, um Steuerelemente im Aktionsbereich zu verankern. Auf dieselbe Weise können Sie auch die Windows Forms-Steuerelemente im Benutzersteuerelement verankern. Weitere Informationen finden Sie unter How to: Anchor controls on Windows Forms.

Ändern der Größe des Aktionsbereichs

Sie können die Größe von ActionsPane nicht direkt ändern, weil ActionsPane in den Aufgabenbereich eingebettet ist. Sie können die Breite des Aufgabenbereichs jedoch programmgesteuert ändern, indem Sie die Width-Eigenschaft der CommandBar festlegen, die den Aufgabenbereich darstellt. Sie können die Höhe des Aufgabenbereichs ändern, falls er horizontal angedockt oder unverankert ist.

Programmgesteuertes Ändern der Größe des Aufgabenbereichs wird nicht empfohlen, da der Benutzer in der Lage sein sollte, die Größe des Aufgabenbereichs auszuwählen, die ihren Anforderungen am besten entspricht. Wenn Sie die Breite des Aufgabenbereichs jedoch ändern müssen, können Sie für diese Aufgabe den folgenden Code verwenden.

this.CommandBars["Task Pane"].Width = 200;

Ändern der Position des Aktionsbereichs

Sie können den ActionsPane nicht direkt neu positionieren, da er in den Aufgabenbereich eingebettet ist. Sie können den Aufgabenbereich jedoch programmgesteuert verschieben, indem Sie die Position-Eigenschaft der CommandBar festlegen, die den Aufgabenbereich darstellt.

Die programmgesteuerte Neupositionierung des Aufgabenbereichs wird nicht empfohlen, da der Benutzer die Aufgabenbereichposition auf dem Bildschirm auswählen kann, die den Anforderungen am besten entspricht. Wenn Sie den Aufgabenbereich jedoch verschieben müssen, können Sie für diese Aufgabe den folgenden Code verwenden.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;

Hinweis

Endbenutzer können den Aufgabenbereich jederzeit manuell neu positionieren. Es gibt keine Möglichkeit sicherzustellen, dass der Aufgabenbereich an der Position angedockt bleibt, die Sie programmgesteuert festlegen. Allerdings können Sie Änderungen in Bezug auf die Ausrichtung suchen und sicherstellen, dass die Steuerelemente im Aktionsbereich in der richtigen Richtung gestapelt sind. Weitere Informationen finden Sie unter How to: Manage control layout on actions panes.

Das Festlegen der Eigenschaften und Left Eigenschaften Top der ActionsPane Eigenschaft ändert ihre Position nicht, da das ActionsPane Objekt in den Aufgabenbereich eingebettet ist.

Wenn der Aufgabenbereich nicht angedockt ist, können Sie die Top-Eigenschaft und die Left-Eigenschaft von CommandBar festlegen, der den Aufgabenbereich darstellt. Durch den folgenden Code wird ein nicht angedockter Aufgabenbereich in die obere linke Ecke des Dokuments verschoben.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}