Kopieren von Werten von einem Feld in ein anderes in Word 2003

0

Ich erstelle eine Word 2003-Vorlage mit einigen Feldern, da dies die einzigen Textteile sind, die geändert werden sollten (z. B. Firmenname, Adresse usw.).

Wenn die Person, die das Formular verwendet, das Feld Firmenname oben ausfüllt (das ich als Textformularfeld erstellt habe), wie kann ich dann auf diesen Wert an einer anderen Stelle in der Vorlage verweisen?

Richard Bysouth
quelle
Bitte sehen Sie die aktualisierte Antwort und lassen Sie mich wissen, wenn Sie irgendwelche Probleme haben.
James P

Antworten:

1

Versuche dies:

  • Klicken Sie mit der rechten Maustaste auf das Feld und klicken Sie dann auf Eigenschaften .
  • Stellen Sie sicher, dass das Feld einen Namen hat, an den Sie sich erinnern können
  • Aktivieren Sie das Kontrollkästchen Calculate on Exit
  • Klicken Sie auf OK , um den Dialog zu schließen
  • Klicken Sie auf Einfügen -> Referenz -> Querverweis ...
  • Überprüfen Sie, ob Referenztyp ist auf Lesezeichen und Setzen Bezug auf ist auf Bookmark Text
  • Wählen Sie das Feld aus, dessen Wert Sie verwenden möchten
  • Klicken Sie auf OK

Beachten Sie, dass dies möglicherweise nicht für alle Feldtypen funktioniert.

Wenn Sie diese Referenzen in der Kopfzeile haben möchten, werden sie nicht automatisch aktualisiert. Damit sie automatisch aktualisiert werden, wenn der Benutzer das Quellfeld verlässt, müssen Sie ein Makro erstellen:

  • Wählen Sie im Hauptmenü Extras-> Makro-> Makros ... aus
  • Geben Sie UpdateHeader in das Textfeld Makroname ein
  • Klicken Sie auf Erstellen
  • Ersetzen Sie den Standardcode mithilfe des angezeigten VBA-Editors durch folgenden Code:

    Sub UpdateHeader()
    Dim i As Integer
    
    'exit if no document is open
    If Documents.Count = 0 Then Exit Sub
    Application.ScreenUpdating = False
    
    'Get page count
    i = ActiveDocument.BuiltInDocumentProperties(14)
    
    If i >= 1 Then 'Update fields in Header
    ActiveDocument.Sections(ActiveDocument.Sections.Count) _
    .Headers(1).Range.Fields.Update
    End If
    
    Application.ScreenUpdating = True
    End Sub
    
  • Klicken Sie im VBA-Editor auf das Speichersymbol und schließen Sie es

  • Klicken Sie mit der rechten Maustaste auf das Quellfeld (dh auf ein Feld, das den vom Benutzer eingegebenen Wert enthält) und klicken Sie auf Eigenschaften .
  • Wählen Sie UpdateHeader aus der Liste der Makros aus, die beim Beenden ausgeführt werden sollen
  • OK klicken
James P
quelle
Danke für die Hilfe. Das funktioniert fast, außer dass ich das Querverweisfeld manuell aktualisieren muss, indem ich mit der rechten Maustaste auf das Feld klicke und es aktualisiere. Ich habe bestätigt, dass Calculate on Exit aktiviert ist. Irgendeine Idee warum?
Richard Bysouth
Befinden sich Felder außerhalb des Dokumentenkörpers (z. B. Kopfzeile) zufällig? In diesem Fall werden sie nicht sofort aktualisiert. Dies ist eine Einschränkung der Funktionsweise von Word. Aber wenn Sie drucken oder speichern, sollten sie aktualisiert werden. Ich bin mir nicht sicher, ob es eine gute Lösung gibt. Im Internet sind wahrscheinlich einige Makros verfügbar.
James P