Variablen (Dokumenteigenschaften) für Texte in Microsoft Word verwenden

Eine Kollegin von mir wollte wissen, wie man Variablen in Microsoft Word* anlegt und sie im Text verwendet. Sie möchte gerne einen bestimmten Text, z.B. den Namen einer Person, als Variable hinterlegen, um ihn später an einer zentralen Stelle ändern zu können. Der Name soll dann automatisch im gesamten Dokument auf den neuen Wert geändert sein.

Suchen und Ersetzen hilft dabei nicht richtig weiter, weil man jeden einzelnen gefundenen Wert manuell prüfen müsste. Es könnte ja sein, dass gar nicht der gesuchte Name gemeint ist, sondern eine andere Person, die zufällig den gleichen Namen hat.

Die Anforderung lässt sich mit Microsoft Word recht einfach umsetzen. Es gibt so genannte Dokumenteigenschaften, die zentral gesetzt und dann im Text einfach als Feld referenziert werden können. Nach Änderungen können diese Felder dann aktualisiert werden und enthalten sofort den geänderten Wert.

Es folgt eine Schritt-für-Schritt-Anleitung, wie solche Dokumenteigenschaften als Variablen genutzt werden können.

Dokumenteigenschaft definieren

Die erweiterten Eigenschaften definiert man Seit Word 2007 unter: Datei -> Informationen -> Eigenschaften -> Erweiterte Eigenschaften.

Microsoft Word: Erweiterte Eigenschaften definieren

Unter dem Reiter Anpassen kann man dann mittels Name, Typ und Wert eine “Variable” hinzufügen.

Microsoft Word: Dokumenteigenschaft hinzufügen

Sie sollte danach in der Liste unter Eigenschaften erscheinen.

Microsoft Word: Dokumenteigenschaft hinzugefügt

Eigenschaft im Text referenzieren

Die neu angelegte Eigenschaft (oder auch eine bereits vorhandene bzw. eingebaute) kann nun im Text mittels Einfügen -> Schnellbausteine -> Feld eingefügt werden.

Microsoft Word: Feld in Text einfügen

Unter Feldnamen muss das Feld DocProperty ausgewählt werden und dann in der rechten Liste Eigenschaft die gewünschte Eigenschaft.

Microsoft Word: Feld DocProperty einfügen

Im Word-Dokument sollte nun der eingestellte Wert sichtbar sein. Wenn man den Cursor auf dem Wert platziert sollte er grau hinterlegt werden. Das heißt, dass es sich bei diesem Text um ein Feld handelt, das automatisch generiert und z.B. auch aktualisiert werden kann (wie z.B. ein Inhaltsverzeichnis).

Microsoft Word: Eingefügtes Feld im Text

Eigenschaft ändern

Wenn nun der Wert der Variablen geändert werden soll, kann man wie bei der Definition unter Datei -> Informationen -> Eigenschaften -> Erweiterte Eigenschaften den Wert verändern und abspeichern.

Microsoft Word: Dokumenteigenschaft ändern

Referenzen im Text aktualisieren

Die Felder im Text enthalten nicht automatisch den neuen Wert! Sie müssen einmal mit der rechten Maustaste angeklickt und aktualisiert werden.

Microsoft Word: Feld aktualisieren

Danach sollte dann der neue Wert zu sehen sein.

Microsoft Word: Eingefügtes Feld aktualisiert

Alle Referenzen auf einmal aktualisieren

Wer mehrere Referenzen in seinem Text hat, kann schlecht jedes Feld einzeln aktualisieren (das dauert viel zu lange und man übersieht evtl. ein Feld). Der einfachste Weg ist, mit STRG+a den gesamten Text zu markieren und dann F9 zu drücken. Das ist der Shortcut für Felder aktualisieren.

Über Stefan

Polyglot Clean Code Developer

10 Kommentare

  1. Danke für die übersichtliche Hilfe, das hat mich weitergebracht.

  2. Der Beitrag war Hilfreich. Danke sehr!
    MfG Andreas

  3. Gibt es eine Möglichkeit, die eingefügte Dokumenteigenschaft direkt im Dokument zu ändern? Mit den Standard-Eigenschaften, die man über “Schnellbausteine -> Dokumenteigenschaft” einfügt, funktioniert das. Dort sind die benutzerdefinierten Eigenschaften aber nicht sichtbar. Danke!
    MfG, Thomas

  4. Hallo Thomas, eine derartige Möglichkeit ist mir leider nicht bekannt.

  5. Ich würde gerne Bilder über die Feldbezüge einfügen welche vierteljährlich in einem Bericht aktualisiert werden müssen – so ca. 40 an der Zahl. Das Problem dabei, bei den Dateinamen ändert sich natürlich die Datumsbeschreibung. Beispiel: grafik1_2019_djf (Dezember bis Februar) wobei 2019 das Jahr ist und djf für den Winter steht. Drei Monate später wird aktualisiert, die Grafik heisst dann grafik1_2019_mam (März bis Mai). Kann ich das “2019_djf” in Word irgendwie in eine Variable packen und beim Feldbezug includepicture verwenden??? Möchte quasi dann beim folgenden Bericht nur Variable 2019_djf in 2019_mam ändern, alles aktualisieren Word soll die 40 Grafiken alle auf einmal aktualisieren.
    Man könnte natürlich die Datumsangaben aus den Dateinamen entfernen, aber dann müsste man sehr aufpassen und es wäre nicht ganz so komfortabel.

  6. Hallo Michael, puh, das weiß ich leider nicht. Hast du es vielleicht einfach mal ausprobiert?

  7. Klar habe ich’s ausprobiert – in allen möglichen Variationen die ich so ergoogeln konnte. Aber wirklich funktioniert hat nichts. Vielleicht ist das so ohne weiteres gar nicht vorgesehen ohne irgendwelche Makros zu programmieren (was ich nicht kann). Dann werde ich es wohl weiter mit nem Rename-Tool machen und die Dateien ohne Datum über Feldbezüge reinziehen. Funktioniert auch, aber man muss halt aufpassen und Ordnung halten mit den Dateien.

  8. Vor mehr als 20 Jahren arbeitete ich in einem Direktmarketing-Unternehmen, wo für eine Bank regelmäßig Serienbriefe an die Kunden rausgingen, in denen, angepasst durch die zuständige Filiale, die korrekten Filialleiter und deren Unterschriften durch entsprechende Felder in der Steuerdatei gesetzt wurden. Der Trick war hier, dass zur Anzeige der als Bilddateien hinterlegten Unterschriften die Feldfunktion IncludePicture eingesetzt wurde – aber statt auf einen “festverdrahteten” Pfad zu verweisen, wurde hier als Quelle der Inhalt eines Feldes der Steuerdatei genutzt, wo dann pro Datensatz die richtige Bilddatei inkl. kompletter Pfadangabe abgelegt war. Meine Idee wäre, aus dem Word-Bericht einen Serienbrief zu machen und die 40 Graphiken durch entsprechende IncludePicture-Feldfunktionen zu ersetzen, die jeweils auf ein eigenes Feld in einer Steuerdatei, z.B. einer Exceltabelle, verweisen: Graphik01, Graphik02, …, Graphik40. Um dann das Word-Dokument “automatisch” aktuell zu halten, muss nur die Excel-Tabelle angepasst werden. Das ginge auch ganz schnell, wenn die neuen Graphiken alle zusammen in einem Ordner liegen – man öffnet eine Eingabeaufforderung, setzt den Befehl dir /b ab, der eine reine Dateinamensliste ausgibt, ohne Datums- und Größenangabe. Verbindet man diesen Befehl noch mit einer Umleitung in eine Textdatei (dir /b > FileName.txt) und lädt diese in Excel, kann man recht schnell eine neue Steuerdatei erzeugen. Stichworte hier wären: – Alle untereinander stehenden Dateinamen mit dem Ordnerpfad ergänzen – in der Spalte davor die zukünftigen Feldnamen “Graphik01” … ergänzen – alle 40 Einträge inkl. der “Feldnamen” kopieren und über “Transponieren” gedreht einfügen, so dass die zuvor vor den Pfadangaben stehenden Feldnamen nun ganz normal als Namenszeile dargestellt werden – überschüssige Daten löschen – Word-Dokument mit der neuen Steuerdatei verknüpfen. Vielleicht hilft das weiter, vorausgesetzt die Feldfunktion tickt noch so wie früher.

  9. Mich würde interessieren, ob die Dokumenteigenschaft über ein externes Script verändert werden können.
    Mein Ziel: Mit einem Script das WORD Dokument öffnen, Bestimmte Eigenschaft verändern/setzten, Dokument als pdf speichern und wieder schließen.
    Ohne das ich selbst einen Click im WORD durchführen muss.

  10. Das geht bestimmt mit VBA. Aber auswendig weiß ich auch nicht wie.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax