Übersicht über das Word-Objektmodell
Wenn Sie Word-Lösungen in Visual Studio entwickeln, interagieren Sie mit dem Word-Objektmodell. Dieses Objektmodell besteht aus Klassen und Schnittstellen, die in der primären Interopassembly für Word bereitgestellt und im Microsoft.Office.Interop.Word-Namespace definiert werden.
Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Word 2007 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
Dieses Thema enthält eine kurze Übersicht über das Word-Objektmodell. Ressourcen, in denen Sie mehr über das gesamte Word-Objektmodell erfahren, finden Sie unter Verwenden der Dokumentation zum Word-Objektmodell.
Informationen zur Verwendung des Word-Objektmodells für bestimmte Aufgaben finden Sie in den folgenden Themen:
Das Word-Objektmodell
Word stellt Hunderte von Objekten bereit, mit denen Sie interagieren können. Diese Objekte werden in einer Hierarchie organisiert, die der Benutzeroberfläche eng folgt. An der Spitze der Hierarchie befindet sich das Application-Objekt. Dieses Objekt stellt die aktuelle Instanz von Word dar. Das Application-Objekt enthält die Objekte Document, Selection, Bookmark und Range. Jedes dieser Objekte enthält zahlreiche Methoden und Eigenschaften, auf die Sie zugreifen können, um es zu bearbeiten und mit ihm zu interagieren.
Die folgende Abbildung zeigt eine Ansicht dieser Objekte in der Hierarchie des Word-Objektmodells.
Kurzdarstellung des Word-Objektmodells
Auf den ersten Blick scheint es viele Überschneidungen zu geben. Das Document-Objekt und das Selection-Objekt sind z. B. beide Member des Application-Objekts, aber das Document-Objekt ist auch ein Member des Selection-Objekts. Sowohl das Document-Objekt als auch das Selection-Objekt enthalten Bookmark-Objekte und Range-Objekte. Die Überschneidung ist darauf zurückzuführen, dass es mehrere Möglichkeiten gibt, auf denselben Objekttyp zuzugreifen. Sie wenden beispielsweise eine Formatierung auf ein Range-Objekt an, möchten aber möglicherweise auf den Bereich der aktuellen Auswahl, eines bestimmten Absatzes oder Abschnitts oder des gesamten Dokuments zugreifen.
In den folgenden Abschnitten werden die Objekte der obersten Ebene und ihr Zusammenwirken kurz beschrieben. Zu ihnen gehören die folgenden fünf Objekte:
Application-Objekt
Document-Objekt
Selection-Objekt
Range-Objekt
Bookmark-Objekt
Zusätzlich zum Word-Objektmodell stellen Office-Projekte in Visual Studio Hostelemente und Hoststeuerelemente bereit, die im Word-Objektmodell einige Objekte erweitern. Hostelemente und Hoststeuerelemente verhalten sich wie die Word-Objekte, die sie erweitern, verfügen jedoch auch über zusätzliche Funktionen, z. B. Datenbindungsfunktionen und zusätzliche Ereignisse. Weitere Informationen finden Sie unter Automatisieren von Word mithilfe von erweiterten Objekten und Übersicht über Hostelemente und Hoststeuerelemente.
Application-Objekt
Das Application-Objekt stellt die Word-Anwendung dar, und es ist das übergeordnete Element aller anderen Objekte. Seine Member gelten i. d. R. für Word als Ganzes. Mithilfe seiner Eigenschaften und Methoden können Sie die Word-Umgebung steuern.
In Add-In-Projekten auf Anwendungsebene können Sie auf das Application-Objekt zugreifen, indem Sie das Application-Feld der ThisAddIn-Klasse verwenden. Weitere Informationen finden Sie unter Programmieren von Add-Ins auf Anwendungsebene.
In Projekten auf Dokumentebene können Sie auf das Application-Objekt zugreifen, indem Sie die Application-Eigenschaft der ThisDocument-Klasse verwenden.
Document-Objekt
Das Microsoft.Office.Interop.Word.Document-Objekt ist beim Programmieren von Word von zentraler Bedeutung. Es stellt ein Dokument und seinen gesamten Inhalt dar. Wenn Sie ein Dokument öffnen oder ein neues Dokument erstellen, dann erstellen Sie ein neues Microsoft.Office.Interop.Word.Document-Objekt, das zur Documents-Auflistung des Application-Objekts hinzugefügt wird. Das Dokument, das den Fokus besitzt, wird als aktives Dokument bezeichnet. Es wird durch die ActiveDocument-Eigenschaft des Application-Objekts dargestellt.
Die Office-Entwicklungstools in Visual Studio erweitern das Microsoft.Office.Interop.Word.Document-Objekt, indem sie den Microsoft.Office.Tools.Word.Document-Typ bereitstellen. Dieser Typ ist ein Hostelement, mit dem Sie Zugriff auf alle Funktionen eines Microsoft.Office.Interop.Word.Document-Objekts erhalten, und er fügt Ereignisse und die Fähigkeit zum Hinzufügen verwalteter Steuerelemente hinzu.
Wenn Sie ein Projekt auf Dokumentebene erstellen, können Sie auf Microsoft.Office.Tools.Word.Document-Member mit der erstellten ThisDocument-Klasse im Projekt zugreifen. Sie können auf Member des Microsoft.Office.Tools.Word.Document-Hostelements zugreifen, indem Sie das Me-Schlüsselwort oder das this-Schlüsselwort aus Code in der ThisDocument-Klasse oder Globals.ThisDocument aus Code außerhalb der ThisDocument-Klasse verwenden. Weitere Informationen finden Sie unter Programmieren von Anpassungen auf Dokumentebene. Verwenden Sie z. B. für die Auswahl des ersten Absatzes im Dokument den folgenden Code:
Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();
In Projekten auf Anwendungsebene können Sie Microsoft.Office.Tools.Word.Document-Hostelemente zur Laufzeit generieren. Sie können das generierte Hostelement verwenden, um dem zugeordneten Dokument Steuerelemente und Smarttags hinzuzufügen. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.
Tipp
Smarttags sind in Excel 2010 und Word 2010 veraltet. Weitere Informationen finden Sie unter Übersicht über Smarttags.
Selection-Objekt
Das Selection-Objekt stellt den Bereich dar, der gegenwärtig markiert ist. Wenn Sie in der Benutzeroberfläche von Word einen Vorgang ausführen, z. B. Text fett formatieren, markieren Sie zunächst den Text, d. h., Sie heben ihn hervor. Anschließend weisen Sie die Formatierung zu. Das Selection-Objekt ist in einem Dokument immer vorhanden. Wenn nichts markiert ist, stellt das Objekt die Einfügemarke dar. Außerdem kann eine Auswahl mehrere Textblöcke umfassen, die nicht zusammenhängen.
Range-Objekt
Das Range-Objekt stellt einen zusammenhängenden Bereich in einem Dokument dar. Es wird durch die Position des Anfangszeichens und die Position des Endzeichens definiert. Es besteht keine Beschränkung auf ein einziges Range-Objekt. Sie können in einem Dokument mehrere Range-Objekte definieren. Ein Range-Objekt weist folgende Merkmale auf:
Es kann allein aus der Einfügemarke bestehen, oder es kann einen Textbereich bzw. das gesamte Dokument umfassen.
Es enthält nicht druckbare Zeichen wie Leerzeichen, Tabstoppzeichen und Absatzmarken.
Es kann sowohl den gegenwärtig ausgewählten Bereich als auch einen Bereich außerhalb der Auswahl darstellen.
Anders als eine Auswahl, die immer sichtbar ist, ist es im Dokument nicht sichtbar.
Es wird nicht gemeinsam mit einem Dokument gespeichert und besteht nur solange, wie der Code ausgeführt wird.
Wenn Sie am Ende eines Bereichs Text einfügen, wird der Bereich von Word automatisch um den eingefügten Text erweitert.
Inhaltssteuerelementobjekte
Ein Microsoft.Office.Interop.Word.ContentControl bietet Ihnen eine Möglichkeit, die Eingabe und Darstellung von Text und anderen Inhaltstypen in Word-Dokumenten zu steuern. Ein Microsoft.Office.Interop.Word.ContentControl kann mehrere unterschiedliche Benutzeroberflächentypen anzeigen, die für die Verwendung in Word-Dokumenten optimiert sind. Beispiele sind ein Rich-Text-Steuerelement, eine Datumsauswahl oder ein Kombinationsfeld. Sie können ein Microsoft.Office.Interop.Word.ContentControl auch verwenden, um das Bearbeiten von Abschnitten des Dokuments oder der Vorlage durch Benutzer zu verhindern.
Visual Studio erweitert das Microsoft.Office.Interop.Word.ContentControl-Objekt in mehrere unterschiedliche Hoststeuerelemente. Während das Microsoft.Office.Interop.Word.ContentControl-Objekt die unterschiedlichen Benutzeroberflächentypen anzeigen kann, die für Inhaltssteuerelemente verfügbar sind, stellt Visual Studio für jedes Inhaltssteuerelement einen anderen Typ bereit. Sie können z. B. mit einem Microsoft.Office.Tools.Word.RichTextContentControl ein Richt-Text-Steuerelement oder mit einem Microsoft.Office.Tools.Word.DatePickerContentControl eine Datumsauswahl erstellen. Diese Hoststeuerelemente verhalten sich wie das systemeigene Microsoft.Office.Interop.Word.ContentControl, aber sie besitzen zusätzliche Ereignisse und Datenbindungsfunktionen. Weitere Informationen finden Sie unter Inhaltssteuerelemente.
Bookmark-Objekt
Das Microsoft.Office.Interop.Word.Bookmark-Objekt stellt einen zusammenhängenden Bereich in einem Dokument dar, mit einer Anfangs- und einer Endposition. Mithilfe von Lesezeichen können Sie eine bestimmte Stelle in einem Dokument markieren, oder Sie können Lesezeichen als Container für Text in einem Dokument verwenden. Ein Microsoft.Office.Interop.Word.Bookmark-Objekt kann aus der Einfügemarke bestehen oder so groß wie das gesamte Dokument sein. Ein Microsoft.Office.Interop.Word.Bookmark-Objekt unterscheidet sich durch folgende Merkmale von einem Range-Objekt:
Das Lesezeichen können Sie zur Entwurfszeit benennen.
Microsoft.Office.Interop.Word.Bookmark-Objekte werden gemeinsam mit dem Dokument gespeichert. Sie bleiben also erhalten, wenn der Code nicht mehr ausgeführt oder das Dokument geschlossen wird.
Lesezeichen können aus- oder eingeblendet werden, indem die ShowBookmarks-Eigenschaft des View-Objekts auf false oder true festgelegt wird.
Visual Studio erweitert das Microsoft.Office.Interop.Word.Bookmark-Objekt durch Bereitstellen des Microsoft.Office.Tools.Word.Bookmark-Hoststeuerelements. Das Microsoft.Office.Tools.Word.Bookmark-Hoststeuerelement verhält sich wie ein systemeigenes Microsoft.Office.Interop.Word.Bookmark, verfügt aber über zusätzliche Ereignisse und Datenbindungsfunktionen. Sie können Daten genauso an ein Lesezeichen-Steuerelement in einem Dokument binden wie Daten an ein Textfeld-Steuerelement in einem Windows Form. Weitere Informationen finden Sie unter Bookmark-Steuerelement.
Verwenden der Dokumentation für das Word-Objektmodell
Ausführliche Informationen zum Word-Objektmodell finden Sie in der Referenz für die primäre Interopassembly (PIA) für Word und der VBA-Objektmodellreferenz.
Referenz für die primäre Interopassembly
In der Referenzdokumentation für die Word-PIA werden die Typen in der primären Interopassembly für Word beschrieben. Diese Dokumentation ist unter Referenz für die primäre Interopassembly für Word 2010 (möglicherweise in englischer Sprache) verfügbar.
Tipp
Die Word 2007-PIA ist derzeit nicht dokumentiert. Die Typen in der Word 2007-PIA sind jedoch auch in der Word 2010-PIA enthalten. Daher gelten die Informationen in dieser Referenzdokumentation auch für Word 2007.
Weitere Informationen zum Entwurf der Word-PIA, z. B. zu Unterschieden zwischen Klassen und Schnittstellen in der PIA und zur Implementierung von Ereignissen in der PIA, finden Sie in der Übersicht über Klassen und Schnittstellen in den primären Interopassemblys für Office (möglicherweise in englischer Sprache).
VBA-Objektmodellreferenz
Die VBA-Objektmodellreferenz dokumentiert das Word-Objektmodell, das für VBA (Visual Basic for Applications) verfügbar gemacht wird. Die VBA-Objektmodellreferenz für Word ist unter den folgenden Links verfügbar:
Word 2010-Objektmodellreferenz (möglicherweise in englischer Sprache)
Word 2007-Objektmodellreferenz (möglicherweise in englischer Sprache)
Alle Objekte und Member in der VBA-Objektmodellreferenz entsprechen Typen und Membern in der Word-PIA. Das Document-Objekt in der VBA-Objektmodellreferenz entspricht z. B. dem Microsoft.Office.Interop.Word.Document-Objekt in der Word-PIA. Obwohl die VBA-Objektmodellreferenz Codebeispiele für die meisten Eigenschaften, Methoden und Ereignisse enthält, müssen Sie den VBA-Code in dieser Referenz in Visual Basic oder Visual C# übersetzen, wenn Sie ihn in einem mit Visual Studio erstellten Word-Projekt verwenden möchten.
Siehe auch
Referenz
Primäre Interopassemblys in Office
Konzepte
Automatisieren von Word mithilfe von erweiterten Objekten
Arbeiten mit Text in Dokumenten
Übersicht über Hostelemente und Hoststeuerelemente
Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen
Optionale Parameter in Office-Lösungen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Mai 2010 |
Die Informationen zur Objektmodell-Referenzdokumentation wurden aktualisiert. |
Informationsergänzung. |