Übersicht über Hostelemente und Hoststeuerelemente
Hostelemente und Hoststeuerelemente sind Programmierelemente, die die Bereitstellung des Programmiermodells für Office-Projektmappen ermöglichen, die mithilfe der Office-Entwicklungstools in Visual Studio erstellt werden. Hostelemente und Hoststeuerelemente vereinfachen die Interaktion zwischen Objektmodellen von Microsoft Office Word und Microsoft Office Excel (COM-basiert) und 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 features available by Office-App lication and project type.
Hostelemente
Hostelemente sind Programmiertypen, die in den Objektmodellhierarchien in Office-Projekten ganz oben angesiedelt sind. Die Visual Studio-Tools für Office-Laufzeit definiert die folgenden Hostelemente für Word- und Excel-Lösungen:
-
Jeder dieser Typen erweitert ein Objekt, das als systemeigenes Objekt im Word- oder Excel-Objektmodell vorhanden ist und als systemeigenes Office-Objektbezeichnet wird. Das Document -Hostelement erweitert beispielsweise das Document -Objekt, das in der primären Interopassembly für Word definiert ist.
Hostelemente verfügen im Allgemeinen über dieselben Standardfunktionen wie die entsprechenden Office-Objekte, wurden jedoch durch folgende Features ergänzt:
Die Fähigkeit, verwaltete Steuerelemente, einschließlich Hoststeuerelementen und Windows Forms-Steuerelementen, zu hosten.
Umfangreichere Ereignismodelle. Einige Dokument-, Arbeitsmappen und Arbeitsblattereignisse in systemeigenen Word- und Excel-Objektmodellen werden nur auf Anwendungsebene ausgelöst. Hostelemente stellen diese Ereignisse auf Dokumentebene bereit, damit 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 den Code bereit. Außerdem verfügen sie über Designer, die Sie bei der Umsetzung Ihrer Projektmappen unterstützen.
Den Hostelementen Document und Worksheet sind Designer zugeordnet, die einer visuellen Darstellung des Dokuments oder Arbeitsblatts entsprechen, ähnlich einem Windows Forms-Designer. Sie können diesen Designer verwenden, um den Inhalt des Dokuments oder Arbeitsblatts direkt in Word oder Excel zu ändern und um Steuerelemente auf die Entwurfsoberfläche zu ziehen. Weitere Informationen finden Sie unter Dokumenthostelement und Arbeitsblatthostelement.
Das Hostelement Workbook dient nicht als Container für Steuerelemente, die über eine Benutzeroberfläche verfügen. Stattdessen fungiert der Designer für dieses Hostelement als Komponentenleiste, mit der Sie eine Komponente, z. B. eine DataSet, auf die Entwurfsoberfläche ziehen können. Weitere Informationen finden Sie im Arbeitsmappenhostelement.
Hostelemente können nicht programmgesteuert in Projekten auf Dokumentebene erstellt werden. Stattdessen verwenden Sie die Klassen ThisDocument
, ThisWorkbook
, oder Sheet
n , die von Visual Studio zur Entwurfszeit automatisch im Projekt generiert werden. Diese generierten Klassen werden von Hostelementen abgeleitet und bieten einen Einstiegspunkt für den Code. 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 Hostelemente. Sie können zur Laufzeit jedoch die Hostelemente Document, Workbookund Worksheet in Word- und Excel-VSTO-Add-Ins generieren.
Nachdem Sie ein Hostelement generiert haben, können Sie Aufgaben wie das Hinzufügen von Steuerelementen zu Dokumenten ausführen. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in VSTO-Add-Ins zur Laufzeit.
Hoststeuerelemente
Hoststeuerelemente erweitern verschiedene Benutzeroberflächenobjekte im Word- und Excel-Objektmodell, z. B. die Objekte Microsoft.Office.Interop.Word.ContentControl
und Range.
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 systemeigene Office-Objekte; Hoststeuerelemente verfügen jedoch über zusätzliche Funktionalität wie z. B. Ereignisse und Datenbindungsfunktionen. Wenn Sie die Ereignisse eines systemeigenen Range -Objekts in Excel z. B. aufzeichnen möchten, müssen Sie zuerst das Änderungsereignis des Arbeitsblatts behandeln. Anschließend müssen Sie feststellen, ob die Änderung innerhalb von Rangeaufgetreten 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 Form- und Windows Forms-Steuerelement. Ein NamedRange -Steuerelement wird auf die gleiche Weise auf einem Worksheet -Hostelement platziert wie ein Textfeld-Steuerelement auf einem Windows Form. Die folgende Abbildung veranschaulicht die Beziehung zwischen Hostelementen und Hoststeuerelementen.
Sie können auch Windows Forms-Steuerelemente in Office-Projektmappen 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 haben Sie zur Entwurfszeit folgende Möglichkeiten, Ihren Word-Dokumenten oder Excel-Arbeitsblättern Hoststeuerelemente hinzuzufügen:
Hoststeuerelemente werden dem Dokument zur Entwurfszeit auf die gleiche Weise hinzugefügt wie systemeigene Objekte.
Ziehen Sie Hoststeuerelemente aus der Toolbox auf Ihre Dokumente und Arbeitsblätter. Excel-Hoststeuerelemente sind auf der Registerkarte Excel-Steuerelemente in Excel-Projekten und Word-Hoststeuerelemente auf der Registerkarte Word-Steuerelemente in Word-Projekten verfügbar.
Ziehen Sie Hoststeuerelemente aus dem Fenster Datenquellen auf Ihre Dokumente und Arbeitsblätter. Dadurch 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 VSTO-Add-In-Projekten können Sie Dokumenten zur Laufzeit auch einige Hoststeuerelemente hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit.
Weitere Informationen darüber, wie Sie Dokumenten Hoststeuerelemente hinzufügen, finden Sie unter 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
Namenhoststeuerelemente
Wenn Sie ein Hoststeuerelement aus der Toolbox in das Dokument ziehen, wird das Steuerelement automatisch nach dem Steuerelementtyp gefolgt von einer fortlaufenden Nummer benannt. Lesezeichen erhalten beispielsweise den Namen Bookmark1, Bookmark2usw. Wenn Sie zum Hinzufügen des Steuerelements die systemeigene Funktionalität von Word oder Excel verwenden, können Sie dem Steuerelement bei der Erstellung einen spezifischen Namen geben. Sie können die Steuerelemente auch umbenennen, indem Sie den Wert der Name -Eigenschaft im Fenster Eigenschaften ändern.
Hinweis
Hoststeuerelemente können nicht nach reservierten Wörtern benannt werden. Wenn Sie einem Arbeitsblatt beispielsweise ein NamedRange -Steuerelement hinzufügen und den Namen in Systemändern, treten bei der Projekterstellung Fehler auf.
Löschen von Hoststeuerelementen
In Projekten auf Dokumentebene können Sie Hoststeuerelemente zur Entwurfszeit löschen, indem Sie das Steuerelement im Excel-Arbeitsblatt oder Word-Dokument auswählen und die ENTF-TASTE drücken. Um -Steuerelemente zu löschen, müssen Sie jedoch das Dialogfeld Namen definieren NamedRange in Excel verwenden.
Wenn Sie einem Dokument zur Entwurfszeit ein Hoststeuerelement hinzufügen, sollte es zur Laufzeit nicht programmgesteuert entfernt werden, da beim nächsten Versuch, das Steuerelement im Code zu verwenden, eine Ausnahme ausgelöst wird. Durch die Delete
-Methode eines Hoststeuerelements werden nur Hoststeuerelemente entfernt, 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.
Durch die Delete -Methode eines NamedRange wird NamedRange beispielsweise nur erfolgreich gelöscht, wenn er dem Arbeitsblatt programmgesteuert hinzugefügt wurde. Dies wird als dynamische Erstellung von Hoststeuerelementen bezeichnet. Dynamisch erstellte Hoststeuerelemente können außerdem 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 zur Laufzeit.
Wenn Endbenutzer zur Laufzeit ein Hoststeuerelement aus dem Dokument löschen, kann die Projektmappe unerwartete Fehler verursachen. Sie können die Dokumentschutzfeatures in Word und Excel verwenden, um das Löschen der Hoststeuerelemente zu verhindern. Weitere Informationen finden Sie unter Office-Entwicklungsbeispiele und exemplarische Vorgehensweisen.
Hinweis
Vermeiden Sie es, Steuerelemente während des Shutdown
-Ereignishandlerzeitraums des Dokuments oder Arbeitsblatts programmgesteuert zu entfernen. Die Benutzeroberflächenelemente sind nicht mehr verfügbar, wenn das Shutdown
-Ereignis eintritt. Wenn Sie Steuerelemente vor dem Schließen der Anwendung entfernen möchten, können Sie Ihren Code einem anderen Ereignishandler hinzufügen, z. B. BeforeClose
oder BeforeSave
.
Programm für Hoststeuerelementereignisse
Eine Möglichkeit, wie Office-Objekte von Hoststeuerelementen erweitert werden, ist das Hinzufügen von Ereignissen. Beispielsweise verfügt das Range Objekt in Excel und Bookmark objekt in Word nicht über Ereignisse, aber die Visual Studio-Tools für Office-Laufzeit erweitert diese Objekte durch Hinzufügen programmierbarer Ereignisse. Der Zugriff und die Programmierung in Abhängigkeit von diesen Ereignissen erfolgt auf die gleiche Weise wie der Zugriff auf Ereignisse von Windows Forms-Steuerelementen: über die Ereignis-Dropdownliste in Visual Basic und die Eigenschaftenseite in C#. Weitere Informationen finden Sie unter Walkthrough: Program against events of a NamedRange control.
Hinweis
Sie sollten die EnableEvents -Eigenschaft des Application -Objekts in Excel nicht auf falsebezeichnet wird. Wenn Sie diese Eigenschaft auf false festlegen, kann Excel keine Ereignisse auslösen, auch nicht die Ereignisse von Hoststeuerelementen.
Zugehöriger Inhalt
- Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen
- Programm-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