Tutorial: Text oder Bilder mit einer Dropdown-Auswahl in MS Word verknüpfen
Dieses Tutorial zeigt dir, wie du in Microsoft Word ein dynamisches Formular erstellst, bei dem sich Texte oder Bilder automatisch ändern, basierend auf der Auswahl, die du in einem Dropdown-Menü triffst.
Da Word diese Funktion nicht standardmäßig über einfache Verknüpfungen anbietet, nutzen wir dafür die Entwicklertools und ein kleines VBA-Skript (Makro).
Schritt 1: Entwicklertools aktivieren
Bevor du startest, musst du sicherstellen, dass das Menüband „Entwicklertools“ sichtbar ist.
- Klicke mit der rechten Maustaste auf eine beliebige Stelle im Menüband (Ribbon).
- Wähle Menüband anpassen.
- Setze in der rechten Spalte ein Häkchen bei Entwicklertools.
- Bestätige mit OK.
Schritt 2: Das Dropdown-Menü erstellen
- Gehe zum Tab Entwicklertools.
- Klicke in der Gruppe „Steuerelemente“ auf das Symbol für Dropdown-Inhaltssteuerelement (das Symbol mit der kleinen Liste).
- Markiere das neu eingefügte Dropdown und klicke auf Eigenschaften.
- Gib dem Dropdown einen Namen im Feld Tag (wichtig für den Code später), zum Beispiel:
AuswahlListe. - Klicke unten auf Hinzufügen, um die Optionen für deine Liste einzugeben (z. B. "Option A", "Option B").
- Bestätige mit OK.
Schritt 3: Den Zielbereich markieren
Jetzt legst du fest, wo der Text oder das Bild erscheinen soll.
- Klicke an die Stelle im Dokument, an der sich der Inhalt ändern soll.
- Füge dort ein Rich-Text-Inhaltssteuerelement ein (Symbol „Aa“).
- Klicke auf Eigenschaften und gib diesem Feld im Feld Tag einen eindeutigen Namen, z. B.
ZielBereich.
Schritt 4: Den Code für die Verknüpfung hinterlegen
Damit Word weiß, dass es bei einer Änderung im Dropdown etwas tun soll, nutzen wir ein kurzes Makro.
- Drücke
ALT + F11, um den VBA-Editor zu öffnen. - Suche links im Projekt-Explorer dein Dokument und mache einen Doppelklick auf ThisDocument (oder „DiesDokument“).
- Kopiere den folgenden Code und füge ihn in das weiße Fenster ein:
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim zielCC As ContentControl
' Prüfen, ob das geänderte Feld unser Dropdown ist
If ContentControl.Tag = "AuswahlListe" Then
' Das Ziel-Feld finden
For Each zielCC In ActiveDocument.ContentControls
If zielCC.Tag = "ZielBereich" Then
' Logik für die Textänderung
Select Case ContentControl.Range.Text
Case "Option A"
zielCC.Range.Text = "Dies ist der Text für Option A."
Case "Option B"
zielCC.Range.Text = "Hier steht nun der Text für Option B."
Case Else
zielCC.Range.Text = "Bitte wählen Sie etwas aus."
End Select
End If
Next zielCC
End If
End Sub
Schritt 5: Sonderfall Bilder (AutoText/Bausteine)
Wenn du Bilder verknüpfen möchtest, ist es am einfachsten, die Bilder als Schnellbausteine (AutoText) unter einem bestimmten Namen zu speichern.
- Füge dein Bild in Word ein, markiere es und drücke
ALT + F3. - Gib ihm einen Namen (z. B.
Bild_A) und speichere es im Katalog „Schnellbausteine“. - Im VBA-Code oben ersetzt du dann die Zeile
zielCC.Range.Text = ...durch:ActiveDocument.AttachedTemplate.BuildingBlockEntries("Bild_A").Insert Where:=zielCC.Range
Schritt 6: Das Dokument speichern
Da das Dokument nun ein Makro enthält, musst du es im richtigen Format speichern:
- Gehe auf Datei > Speichern unter.
- Wähle als Dateityp *Word-Dokument mit Makros (.docm)**.
Funktionsweise testen
- Klicke in dein Dropdown-Menü und wähle eine Option aus.
- Wichtig: Der Text ändert sich in Word erst, wenn du aus dem Dropdown-Feld herausklickst (das Ereignis heißt "OnExit"). Sobald du eine andere Stelle im Dokument anklickst, wird der Text oder das Bild im Zielbereich aktualisiert.
Tipps für Profis
- Schutz: Du kannst das Dokument über Bearbeitung einschränken schützen, sodass Nutzer nur die Formularfelder ausfüllen können.
- Mehrere Verknüpfungen: Du kannst den
Select Case-Block im Code beliebig erweitern, um viele verschiedene Felder gleichzeitig zu steuern.