Inhaltsverzeichnis

Zugriff auf Word

Allgemein

Um von Excel auf ein Worddokument zuzugreifen, müssen Sie eine zusätzliche Bibliothek in Ihr Projekt einbinden, die Ihnen die entsprechenden Wordobjekte zur Verfügung stellt.

Je nach Office-Version gibt es diese Bibliothek mit unterschiedlicher Versionsnummer. Um die Word-Bibliothek einzubinden, öffnen Sie im VBA-Editor mit Extras - Verweise folgenden Dialog:

Scrollen Sie nach unten und aktivieren Sie das Häkchen bei dem entsprechenden Eintrag und schließen Sie den Dialog mit Klick auf OK.

Im Folgenden werden wir die wichtigsten Word-Objekte durchbesprechen. Wir starten mit dem Word-Applikationsobjekt (Word.Application), das die Word-Anwendung referenziert. Dann machen wir einen kurzen Exkurs zum Thema Auflistungen. Weiter geht es mit dem Dokumentobjekt (Word.Document), das eine geöffnete Word-Datei referenziert. Abschließend sehen wir uns das Textmarkenobjekt (Bookmark) an, das verwendet wird, um an benannten Positionen in unserem Dokument Texte einzufügen.

Die folgenden Codebeispiele verwenden die Anweisung Debug.Print um in das Ausgabefenster zu schreiben. Blenden Sie das Ausgabefenster im VBA-Editor über den Menübefehl Ansicht - Direktfenster ein.

Word-Applikationsobjekt (Word.Application)

Allgemein

Um ausgehend von Excel die Wordanwendung zu starten gibt es mehrere Möglichkeiten:

  • Erzeugen einer neuen Instanz von Word mit New Word.Application.
  • Aufruf von CreateObject und Angabe der Klassenbezeichnung.

Eine weitere Variante wäre der Aufruf von GetObject und der Angabe der Klassenbezeichnung. Diese Anweisung funktioniert nur, wenn Word bereits offen ist.

Um die Wordanwendung von der laufenden Excelanwendung zu unterscheiden, ist auf alle Fälle die Angabe des Namensraums Word bei der Deklaration und beim Erstellen der Wordanwendung notwendig.

Die neue Wordanwendung ist erst für den User sichtbar, wenn Sie die Eigenschaft Visible auf True setzen.

Im folgenden Beispiel wird eine neue Wordinstanz mit New Word.Application erzeugt und angezeigt.

'Neue Wordinstanz
Dim wdApp As Word.Application
Set wdApp = New Word.Application
wdApp.Visible = True

Im folgenden Beispiel wird eine neue Wordinstanz mit CreateObject erzeugt und angezeigt.

'Neue Wordinstanz
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True

Eigenschaften des Word-Applikationsobjekts

Um auf die Eigenschaften des Word-Applikationsobjektes zuzugreifen, verwenden Sie den Punktoperator. Beachten Sie, dass jede Eigenschaft selbst wiederum einen bestimmten Datentyp besitzt. So ist die Eigenschaft Name vom Datentyp String.

Nachfolgend eine Übersicht über wichtige Eigenschaften des Applikationsobjektes:

Eigenschaft Bemerkung
Name Name der Applikation.
Version Versionsnummer der Applikation.
Documents Auflistung aller offenen Word-Dokumente.
ActiveDocument Das aktive Dokument der Applikation.
NormalTemplate Referenz auf die Standarvorlage (Normal.dotm), die jedem neuen leeren Dokument zugrundeliegt.
Selection Ausgewählter Bereich im aktiven Dokument.
Visible Sichtbarkeit der Applikation.

Methoden des Word-Applikationsobjekts

Methoden legen ein bestimmtes Verhalten fest. Um z. B. die Applikation zu beenden, rufen Sie die Methode Quit auf. Um auf die Methoden des Applikationsobjektes zuzugreifen, verwenden Sie den Punktoperator.

Nachfolgend eine Übersicht über wichtige Methoden des Applikationsobjektes:

Methode Bemerkung
Quit Beendet die Applikation.
Activate Macht das Applikationsfenster zum aktiven Fenster.

Beachten Sie, dass bestimmte Methoden nur ausgeführt werden, aber keinen Funktionswert (Rückgabewert) zurückliefern. Diese Methoden werden ohne Angabe von runden Klammern aufgerufen.

Auflistungen

Auflistungen (Collections) sind Sammlungen von Objekten, wobei meistens Objekte des gleichen Datentyps in einer Sammlung liegen.

In Word gibt es einige Objekte, die Zugriff auf weitere Objekte in Form von Auflistungen (Collections) zur Verfügung stellen. Die Bezeichnung dieser Auflistung ist immer in der Mehrzahl und meist vom Typ der Objekte, die in der jeweiligen Auflistung enthalten sind.

Word-Dokumente sind vom Datentyp Document. Die Anweisung Documents liefert die Sammlung aller offenen Dokumente.

Absätze sind vom Datentyp Paragraph. Die Anweisung Paragraphs liefert die Sammlung aller Absätze in einem Dokuemnt.

Eine wichtige Methode jeder Auflistung ist Count, die die Anzahl der Objekte einer Auflistung zurückgibt.

'Verwendung von Count
Dim wdApp As Word.Application
Set wdApp = New Word.Application
wdApp.Visible = True
Debug.Print wdApp.Documents.Count

Da eine neu erstellte Wordinstanz noch keine Dokumente besitzt, sollte im Ausgabefenster die Zahl 0 ausgegeben werden.

Dokumentobjekt (Document)

Allgemein

Ein Worddokument ist vom Datentyp Document. Um mit den Eigenschaften und Methoden eines Dokuments zu arbeiten, sollten Sie das gewünschte Dokument über eine Variable vom Datentyp Word.Document referenzieren.

Um ein neues Dokument zu erzeugen, verwenden Sie die Add-Methode der Documents-Auflistung.

'Erstellen eines neuen Dokuments
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Add()

Um das neue Dokument basierend auf einer Word-Vorlage zu erstellen, geben Sie in Klammern den Pfad zur Vorlage an.

Um eine bestehende Word-Datei zu öffnen, verwenden Sie die Methode Open der Documents-Auflistung.

'Öffnen eines bestehenden Dokuments
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open("C:\MeinDokument.docx")

Eigenschaften eines Dokuments

Um auf die Eigenschaften einer Arbeitsmappe zuzugreifen, verwenden Sie den Punktoperator. Beachten Sie, dass jede Eigenschaft selbst wiederum einen bestimmten Datentyp besitzt. So ist die Eigenschaft Name vom Datentyp String.

Nachfolgend eine Übersicht über wichtige Eigenschaften einer Arbeitsmappe:

Eigenschaft Bemerkung
Name Dateibezeichnung des Dokuments.
Path Verzeichnispfad des Dokuments.
FullName Verzeichnispfad und Dateibezeichnung des Dokuments.
Paragraphs Auflistung aller Absätze des Dokuments.
Characters Auflistung aller Zeichen des Dokuments.
Bookmarks Auflistung aller Textmarken des Dokuments.
Tables Auflistung aller Tabellen des Dokuments.

Methoden eines Dokuments

Methoden legen ein bestimmtes Verhalten fest. Um z. B. das Dokument zu schließen, rufen Sie die Methode Close auf. Um auf die Methoden eines Dokuments zuzugreifen, verwenden Sie den Punktoperator.

Nachfolgend eine Übersicht über wichtige Methoden eines Dokuments:

Methode Bemerkung
Close Schließen des Dokuments.
Activate Aktivieren des Dokuments.
Save Speichern des Dokuments.
SaveAs Speichern des Dokuments unter einem bestimmten Namen.
PrintOut Drucken des Dokuments.
PrintPreview Anzeige der Druckansicht des Dokuments.
SendMail Versand des Dokuments über das installierte Mailsystem.

Beachten Sie, dass bestimmte Methoden nur ausgeführt werden, aber keinen Funktionswert (Rückgabewert) zurückliefern. Diese Methoden werden ohne Angabe von runden Klammern aufgerufen.

'Öffnen, Drucken und Schliessen eines Dokuments
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open("C:\MeinDokument.docx")
wdDoc.PrintOut
wdDoc.Close
wdApp.Quit

Download Codebeispiele

Die gezeigten Codebeispiele können Sie als xlsm-Datei herunterladen.

Seitenanfang   Inhaltsverzeichnis