Der Kern der Sache: das Document-Objekt

Word ist eine Anwendung zur Textverarbeitung und dient primär dem Erstellen und Bearbeiten von Dokumenten. Hierzu stellt die Umgebung viele Werkzeuge zur Verfügung, aber letztlich dreht sich alles um Dokumente. Es Überrascht also nicht, dass das Objektmodell ein Document-Objekt aufweist und dieses häufig in Word-Code auftaucht.

Der Makrorekorder verwendet ausschließlich das Objekt ActiveDocument (aktuell aktives Dokument). Das Problem hiermit ist, dass durch eine Handlung ein anderes Dokument als erwartet zum aktuellen (aktiven) werden könnte. Und plötzlich manipuliert der VBA-Code das falsche Dokument.

Folglich sollten Sie diesen Ausdruck in Ihrem Code möglichst durch eine Objektvariable des Typs Document ...

Get Microsoft Word Programmierung - Das Handbuch (Buch + E-Book). Für Word 2007 - 2013 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.