Kopieren von Formularfeldinhalten (Microsoft Word)
Angenommen, Sie entwickeln ein Formular und müssen den Inhalt eines alten Formularfelds in ein anderes kopieren. Das Formular kann beispielsweise mehrere Seiten enthalten, und Sie benötigen den Benutzernamen oben auf jeder Seite. Es wäre natürlich am einfachsten, wenn der Benutzer seinen Namen nur einmal eingeben müsste und dieser dann automatisch an anderer Stelle im Formular ausgefüllt würde.
Es gibt zwei Möglichkeiten, wie Sie dies erreichen können. Der erste Weg besteht darin, dass der Inhalt des Felds jedes Mal, wenn Sie ein Formularfeld in ein Dokument einfügen, automatisch mit einem Lesezeichen versehen wird. Daher können Sie Lesezeichen-Referenzfelder in Ihrem Dokument verwenden, um auf die vom Benutzer in das Feld eingegebenen Daten zu verweisen. Der zweite Weg besteht darin, Informationen tatsächlich von einem Feld in ein anderes zu kopieren.
Schauen wir uns zunächst die Lösung an, die Lesezeichen verwendet. Jedes Mal, wenn Sie ein Formularfeld in ein Dokument eingeben, wird ihm ein Name zugewiesen. Dieser Name hängt von der Art des von Ihnen eingegebenen Formularfelds ab. Sie können den Namen ermitteln (und gegebenenfalls ändern), indem Sie mit der rechten Maustaste auf das Formularfeld klicken und im Kontextmenü die Option Eigenschaften auswählen. Daraufhin wird das Dialogfeld Formularfeldoptionen angezeigt, und im unteren Bereich des Dialogfelds befindet sich der Lesezeichenname für das Feld. (Dies ist ein Name wie Text1.) Sie sollten sich diesen Namen für das Formularfeld merken, dessen Inhalt Sie an anderer Stelle verwenden möchten.
Positionieren Sie nun Ihre Einfügemarke an der Stelle, an der der Inhalt des Formulars angezeigt werden soll. Zum Beispiel an der Stelle, an der der Name des Formularbenutzers ein zweites oder drittes Mal angezeigt werden soll. Hier sollten Sie die folgenden Schritte ausführen:
-
Drücken Sie Strg + F9, um ein Paar Feldklammern einzufügen. Die Einfügemarke sollte zwischen den Klammern liegen.
-
Geben Sie REF gefolgt vom Namen des zuvor notierten Formularfelds ein.
Wenn der Name des Formularfelds beispielsweise Text1 lautet, geben Sie REF Text1 ein.
-
Drücken Sie F9, um die Feldergebnisse anstelle der Feldcodes anzuzeigen.
Beachten Sie, dass die Informationen zum Formularfeldinhalt zwar auf diese Weise wiederverwendet werden können, die Informationen jedoch nicht automatisch aktualisiert werden, wenn der Benutzer das Formularfeld verlässt. (Nun, das ist es und ist es nicht.) Sie müssen Word in dieser Hinsicht vertrauen, da der Inhalt von Feldern (das REF-Feld) im Allgemeinen erst aktualisiert wird, wenn Sie das Dokument drucken oder eine Druckvorschau anzeigen. Das Feld kann natürlich auch aktualisiert werden, indem Sie es auswählen und F9 drücken. Beides erfordert manuelle Aktionen des Benutzers, es ist jedoch möglich, Makros zu erstellen, die dies automatisch tun.
Die zweite allgemeine Methode zum Kopieren von Feldinhalten umfasst das buchstäbliche Kopieren der Informationen von einem Feld in ein anderes. Dies muss mit einem Makro erfolgen und scheint angesichts der bereits besprochenen Lesezeichenfunktion ein wenig übertrieben zu sein. Es kann jedoch vorkommen, dass Sie tatsächlich zwei Formularfelder in Ihrem Dokument benötigen und das zweite Formularfeld standardmäßig die vom Benutzer in das erste Formularfeld eingegebenen Felder verwenden soll. In diesem Fall müssen Sie die Namen notieren, die den Formularfeldern von Word zugewiesen wurden. Für die Zwecke dieser Diskussion nehmen wir an, dass diese Namen Text1 und Text2 sind und dass Sie den Inhalt von Text1 nach Text2 kopieren möchten, sobald der Benutzer Text1 verlässt. Sie können das folgende einfache Makro verwenden:
Sub CopyField() Dim Temp as String Temp = ActiveDocument.FormFields("Text1").Result ActiveDocument.FormFields("Text2").Result = Temp End Sub
Jetzt müssen Sie Ihr erstes Feld so konfigurieren, dass das Makro jedes Mal ausgeführt wird, wenn das Feld verlassen wird. Gehen Sie dazu folgendermaßen vor:
-
Klicken Sie mit der rechten Maustaste auf das erste Feld. Dies zeigt ein Kontextmenü an.
-
Wählen Sie im Kontextmenü die Option Eigenschaften. Word zeigt das Dialogfeld Formularfeldoptionen an.
-
Das Dialogfeld enthält zwei Felder, in denen Sie ein Makro angeben können, das ausgeführt werden soll, wenn das Feld eingegeben und verlassen wird.
-
Verwenden Sie die Pulldown-Liste Beenden, um das gerade erstellte Makro auszuwählen (CopyField).
-
Klicken Sie auf OK.
Schützen Sie nun das Dokument vor Feldern und speichern Sie Ihre Formularvorlage. Wenn Sie das nächste Mal ein neues Dokument aus der Vorlage erstellen, kann der Benutzer die Felder ausfüllen. Wenn das Feld Text1 verlassen wird, wird das Feld Text2 sofort mit den in Text1 eingegebenen Daten aktualisiert.
Verstehen Sie, dass der Benutzer dann alles in Text2 ändern kann. Die Änderung bestand einfach darin, die Standardeinstellung festzulegen. Sie sollten auch verstehen, dass, wenn der Benutzer „zurückspringt“ und Text1 erneut ändert und dieses Feld dann verlässt, der Inhalt von Text2 unabhängig davon geändert wird, was zuvor vorhanden war.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (10392) gilt für Microsoft Word 2007, 2010, 2013 und 2016. Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: