Wie füge ich automatisiert Text in ein Microsoft Word-Dokument ein?

Veröffentlicht: 10. Aug 2006

Lösung

In diesem How-to-Guide wird gezeigt, wie automatisiert Text in ein Microsoft Word-Dokument eingefügt werden kann. Dabei wird die Vorgehensweise so gewählt, dass das Word-Dokument dynamisch gehalten wird. Zu diesem Zweck werden Bookmarks (Textmarker) in das Dokument eingefügt. Dies wird im folgenden Code-Ausschnitt gezeigt.

Dim wordRange As Word.Range
Dim newBookmark As Microsoft.Office.Tools.Word.Bookmark

With Globals.ThisDocument
  .Range.InsertAfter(" ")
  wordRange = .Range(.Range.End - 2, .Range.End - 1)
  newBookmark = .Controls.AddBookmark(wordRange,
      "BookmarkName")
End With

Mit dem nächsten Code-Ausschnitt wird ein Text in dieses Bookmark geschrieben.

newBookmark.Text = "angezeigter Text"

Neben normalem Text können auch Bilder, Tabellen etc. in Bookmarks eingefügt werden.

Die vorgestellte Methode bietet den Vorteil, dass beim Erstellen eines neuen Word-Dokumentes die Struktur des Dokumentes noch gar nicht vorliegen muss. Mit den selbst erstellten Bookmarks kann zur Laufzeit die Struktur festgelegt und auch dynamisch angepasst werden. Außerdem bleibt der Inhalt der Bookmarks leicht zugreifbar und auch änderbar.

Es somit auch denkbar, dass die Eingabe eines Anwenders in ein Bookmark ausgelesen und weiter verarbeitet werden kann. Der Benutzer würde somit überhaupt nichts von komplexen Prozessen, die im Hintergrund laufen, mitbekommen. Er bedient nach wie vor sein Word-Dokument und wird von einer komplexen Anwendung verschont.

Die Bookmarks werden im Office Client von AdventureWorks Cinema verwendet, um aus einem leeren Word-Dokument einen Flyer, ein Datenblatt oder einen Newsletter zu erstellen.