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.
Hostelemente und Hoststeuerelemente sind Typen, die das Programmiermodell für Office-Lösungen bereitstellen, die mithilfe der Office-Entwicklungstools in Visual Studio erstellt werden. Hostelemente und Hoststeuerelemente ermöglichen eine Interaktion mit den Objektmodellen von Microsoft Office Word und Microsoft Office Excel, die auf COM basieren, ähnlich wie die Verwendung von verwalteten Objekten wie Windows Forms-Steuerelementen.
Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte für Excel und Word. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Host-Elemente
Host-Elemente sind Typen, die sich an der Spitze der Objektmodellhierarchien in Office-Projekten befinden. Die Visual Studio Tools für Office Laufzeitumgebung definiert die folgenden Hostelemente für Word- und Excel-Lösungen:
-
Jeder dieser Typen erweitert ein Objekt, das nativ im Word- oder Excel-Objektmodell vorhanden ist, das als systemeigenes Office-Objekt bezeichnet wird. Beispielsweise erweitert das Document Hostelement das Document-Objekt, das in der primären Interop-Assembly für Word definiert ist.
Hostelemente weisen in der Regel die gleiche Basisfunktionalität wie die entsprechenden Office-Objekte auf, werden jedoch mit den folgenden Features erweitert:
Die Möglichkeit zum Hosten von verwalteten Steuerelementen, einschließlich Hoststeuerelementen und Windows Forms-Steuerelementen.
Umfangreichere Ereignismodelle. Einige Dokument-, Arbeitsmappen- und Arbeitsblattereignisse in den systemeigenen Word- und Excel-Objektmodellen werden nur auf Anwendungsebene ausgelöst. Hostelemente stellen diese Ereignisse auf Dokumentebene bereit, sodass es einfacher ist, die Ereignisse für ein bestimmtes Dokument zu behandeln.
Grundlegendes zu Hostelementen in Projekten auf Dokumentebene
In Projekten auf Dokumentebene stellen Hostelemente einen Einstiegspunkt für Ihren Code bereit, und sie verfügen über Designer, mit denen Sie Ihre Lösung entwickeln können.
Die Document- und Worksheet-Host-Elemente haben zugeordnete Designer, die die visuelle Darstellung des Dokuments oder Arbeitsblatts sind, z. B. ein Windows Forms-Designer. Mit diesem Designer können Sie den Inhalt des Dokuments oder Arbeitsblatts direkt in Word oder Excel ändern und Steuerelemente auf die Entwurfsoberfläche ziehen. Weitere Informationen finden Sie unter Dokumenthostelement und Arbeitsblatthostelement.
Das Workbook Host-Element fungiert nicht als Container für Steuerelemente, die eine Benutzeroberfläche haben. Stattdessen funktioniert der Designer für dieses Hostelement als Komponentenfeld, mit dem Sie eine Komponente, z. B. DataSet, auf die Entwurfsoberfläche ziehen können. Weitere Informationen finden Sie im Hostelement der Arbeitsmappe.
Hostelemente können nicht programmgesteuert in dokumentenbezogenen Projekten erstellt werden. Verwenden Sie stattdessen die ThisDocument, ThisWorkbook, oder Sheetn Klassen, die Visual Studio in Ihrem Projekt zur Entwurfszeit automatisch generiert. Diese generierten Klassen werden von den Hostelementen abgeleitet, und sie stellen einen Einstiegspunkt für Ihren Code bereit. Weitere Informationen finden Sie unter "Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen".
Grundlegendes zu Hostelementen in VSTO-Add-In-Projekten
Wenn Sie ein VSTO-Add-In erstellen, haben Sie standardmäßig keinen Zugriff auf Host-Elemente. Sie können jedoch Document, Workbook und Worksheet Host-Elemente in Word- und Excel-VSTO-Add-Ins zur Laufzeit generieren.
Nachdem Sie ein Hostelement generiert haben, können Sie Aufgaben ausführen, z. B. das Hinzufügen von Steuerelementen zu Dokumenten. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in VSTO-Add-Ins zur Laufzeit.
Hoststeuerungen
Hoststeuerelemente erweitern verschiedene Benutzeroberflächenobjekte in den Word- und Excel-Objektmodellen, wie die Microsoft.Office.Interop.Word.ContentControl- und Range-Objekte.
Die folgenden Hoststeuerelemente sind für Excel-Projekte verfügbar:
-
Die folgenden Hoststeuerelemente sind für Word-Projekte verfügbar:
-
Hoststeuerelemente, die Office-Dokumenten hinzugefügt werden, verhalten sich wie die systemeigenen Office-Objekte; Hoststeuerelemente verfügen jedoch über zusätzliche Funktionen, einschließlich Ereignisse und Datenbindungsfunktionen. Wenn Sie beispielsweise die Ereignisse eines systemeigenen Range Objekts in Excel erfassen möchten, müssen Sie zuerst das Änderungsereignis des Arbeitsblatts behandeln. Dann müssen Sie bestimmen, ob die Änderung innerhalb der Range erfolgt ist. Im Gegensatz dazu verfügt das NamedRange Hoststeuerelement über ein Change Ereignis, das Sie direkt behandeln können.
Die Beziehung zwischen einem Hostelement und Hoststeuerelementen ähnelt der Beziehung zwischen einem Windows-Formular und Windows Forms-Steuerelementen. Genauso wie Sie ein Textfeld-Steuerelement auf einem Windows-Formular platzieren würden, setzen Sie ein NamedRange-Steuerelement auf ein Worksheet-Hostelement. Die folgende Abbildung zeigt die Beziehung zwischen Hostelementen und Hoststeuerelementen.
Sie können auch Windows Forms-Steuerelemente in Ihren Office-Lösungen verwenden, indem Sie sie direkt zur Word- und Excel-Dokumentoberfläche hinzufügen. Weitere Informationen finden Sie unter Windows Forms-Steuerelemente in Office-Dokumenten ( Übersicht).
Hinweis
Das Hinzufügen von Hoststeuerelementen oder Windows Forms-Steuerelementen zu einem Word-Filialdokument wird nicht unterstützt.
Hinzufügen von Hoststeuerelementen zu Ihren Dokumenten
In Projekten auf Dokumentebene können Sie während der Entwurfszeit auf folgende Weise Host-Steuerelemente zu Ihren Word-Dokumenten oder Excel-Arbeitsblättern hinzufügen:
Fügen Sie Ihrem Dokument Hoststeuerelemente während der Entwurfsphase auf die gleiche Weise hinzu, wie Sie ein nativen Objekt hinzufügen würden.
Ziehen Sie Hoststeuerelemente aus der Toolbox auf Ihre Dokumente und Arbeitsblätter. Excel-Hoststeuerelemente sind auf der Registerkarte "Excel-Steuerelemente " in Excel-Projekten verfügbar, und Word-Hoststeuerelemente sind auf der Registerkarte "Word-Steuerelemente " in Word-Projekten verfügbar.
Ziehen Sie Host-Steuerelemente aus dem Datenquellenfenster auf Ihre Arbeitsblätter und Dokumente. Auf diese Weise können Sie Steuerelemente hinzufügen, die bereits an Daten gebunden sind. Weitere Informationen finden Sie unter Binden von Daten an Steuerelemente in Office-Lösungen.
In Projekten auf Dokumentebene und in den VSTO-Add-Ins können Sie auch einige Hoststeuerelemente zur Laufzeit zu Dokumenten hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten während der Ausführung.
Weitere Informationen zum Hinzufügen von Hoststeuerelementen zu Dokumenten finden Sie in den folgenden Themen:
Vorgehensweise: Hinzufügen von Diagrammsteuerelementen zu Arbeitsblättern
Vorgehensweise: Hinzufügen von ListObject-Steuerelementen zu Arbeitsblättern
Vorgehensweise: Hinzufügen von NamedRange-Steuerelementen zu Arbeitsblättern
Vorgehensweise: Hinzufügen von XMLMappedRange-Steuerelementen zu Arbeitsblättern
Vorgehensweise: Hinzufügen von Textmarkensteuerelementen zu Word-Dokumenten
Vorgehensweise: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten
Vorgehensweise: Hinzufügen von XMLNode-Steuerelementen zu Word-Dokumenten
Vorgehensweise: Hinzufügen von XMLNodes-Steuerelementen zu Word-Dokumenten
Namenshost-Steuerelemente
Wenn Sie ein Hoststeuerelement aus der Toolbox in Ihr Dokument ziehen, wird das Steuerelement automatisch mithilfe des Steuerelementtyps mit einer inkrementellen Zahl am Ende benannt. Textmarken werden z. B. " bookmark1", "bookmark2" usw. genannt. Wenn Sie die systemeigene Funktionalität von Word oder Excel verwenden, um das Steuerelement hinzuzufügen, können Sie es zu dem Zeitpunkt, zu dem Sie es erstellen, einen bestimmten Namen geben. Sie können die Steuerelemente auch umbenennen, indem Sie den Wert der Eigenschaft "Name " im Eigenschaftenfenster ändern.
Hinweis
Reservierte Wörter können nicht zum Benennen von Hoststeuerelementen verwendet werden. Wenn Sie z. B. einem Arbeitsblatt ein NamedRange Steuerelement hinzufügen und den Namen in "System" ändern, treten beim Erstellen des Projekts Fehler auf.
Hoststeuerelemente löschen
In Projekten auf Dokumentebene können Sie Hoststeuerelemente zum Entwurfszeitpunkt löschen, indem Sie das Steuerelement im Excel-Arbeitsblatt oder Word-Dokument auswählen und die Entf-Taste drücken. Sie müssen jedoch das Dialogfeld " Namen definieren " in Excel verwenden, um Steuerelemente zu löschen NamedRange .
Wenn Sie einem Dokument zur Entwurfszeit ein Hoststeuerelement hinzufügen, sollten Sie es zur Laufzeit nicht programmgesteuert entfernen, da beim nächsten Versuch, das Steuerelement im Code zu verwenden, eine Ausnahme ausgelöst wird. Die Delete Methode eines Hoststeuerelements entfernt nur Hoststeuerelemente, die dem Dokument zur Laufzeit hinzugefügt werden. Wenn Sie die Delete Methode eines Hoststeuerelements aufrufen, das zur Entwurfszeit erstellt wurde, wird eine Ausnahme ausgelöst.
Eine Delete-Methode von einem NamedRange löscht nur dann NamedRange erfolgreich, wenn es programmgesteuert zum Arbeitsblatt hinzugefügt wurde; dies wird als dynamisches Erstellen von Hoststeuerelementen bezeichnet. Dynamisch erstellte Hoststeuerelemente können auch entfernt werden, indem der Steuerelementname an die Remove-Methode der Controls- oder Controls-Eigenschaft übergeben wird. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten während der Ausführung.
Wenn Endbenutzer ein Hoststeuerelement zur Laufzeit aus dem Dokument löschen, schlägt die Lösung möglicherweise unerwartet fehl. Sie können die Dokumentschutzfeatures in Word und Excel verwenden, um die Hoststeuerelemente vor dem Löschen zu schützen. Weitere Informationen finden Sie unter Office-Entwicklungsbeispiele und exemplarische Vorgehensweisen.
Hinweis
Entfernen Sie Steuerelemente nicht programmgesteuert während des Shutdown Ereignishandlers des Dokuments oder Arbeitsblatts. Die UI-Elemente sind nicht mehr verfügbar, wenn das Shutdown Ereignis eintritt. Wenn Sie Steuerelemente entfernen möchten, bevor die Anwendung geschlossen wird, fügen Sie den Code einem anderen Ereignishandler wie BeforeClose oder BeforeSave hinzu.
Programm gegen Hoststeuerungsereignisse
Eine Möglichkeit zum Erweitern von Office-Objekten durch Hoststeuerelemente besteht darin, Ereignisse hinzuzufügen. Beispielsweise enthält das Range Objekt in Excel und Bookmark objekt in Word keine Ereignisse, aber die Visual Studio Tools für Office-Laufzeit erweitert diese Objekte durch Hinzufügen programmierbarer Ereignisse. Sie können auf diese Ereignisse in der gleichen Art und Weise zugreifen wie auf Ereignisse von Steuerelementen in Windows Forms: über die Ereignis-Dropdownliste in Visual Basic und über die Ereignisseigenschaftsseite in C#. Weitere Informationen finden Sie unter Einführung: Programmierung gegen Ereignisse eines NamedRange-Steuerungselements.
Hinweis
Sie sollten die EnableEvents Eigenschaft des Application Objekts in Excel nicht auf "false" festlegen. Durch Festlegen dieser Eigenschaft auf "false " wird verhindert, dass Excel Ereignisse auslöst, einschließlich der Ereignisse von Hoststeuerelementen.
Verwandte Inhalte
- Programmbeschränkungen von Hostkomponenten und -steuerungen
- Programmieren von VSTO-Add-Ins
- Programmanpassungen auf Dokumentebene
- Automatisieren von Word mithilfe erweiterter Objekte
- Automatisieren von Excel mithilfe erweiterter Objekte
- Steuerelemente für Office-Dokumente
- Binden von Daten an Steuerelemente in Office-Lösungen