beraten
programmieren
implementieren
trainieren
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.