Wie kann ich automatisch Textfelder abfragen lassen bei Word?

2 Antworten

Hallo,

genau kann ich dir deine Frage nicht beantworten, weil dazu einfach zu viele Dinge unbekannt sind.

Wie schon geschrieben wurde, läuft das über Makros.

Der Titel des Makros wäre beispielsweise Sub Document_New ().

Welche Arten von Feldern hast du denn benutzt?

Wenn du beispielsweise die alten Legacy-Textformularfelder benutzt, werden diese standardmäßig mit einer Textmarke eingefügt, die in deiner Vorlage gespeichert ist, und über die man das entsprechende Feld befüllen könnte.

In diesem Fall wäre der Befehl für das Befüllen einer Textmarke mit einer Information:

ActiveDocument.Bookmarks("Textmarkenname").Range.Text = Hier müsstest du jetzt eintragen, welche Information eingefügt werden soll.

Nur ein Beispiel:

Gehen wir mal davon aus, beim Öffnen des Dokuments öffnet sich eine von dir erstellte UserForm, in der sich eine ComboBox befindet, in der du die Auftragsnummer eingibst.

Für die UserForm hast du in Abfrage umbenannt. Die ComboBox hast du in Auftragsnummer umbenannt. Der Wert dieser ComboBox soll dann in deinem Dokument in zwei Formularfelder eingefügt werden, und zwar in die Felder mit den Textmarken Auftragsnr1 und Auftragsnr2.

Um deine Eingaben zu bestätigen, hast du dein Abfrage-Formular mit einer Schaltfläche OK versehen, der du die Bezeichnung btnOK gegeben hast.

Dann wäre der entsprechende Code für das Makro folgender:

Sub Document_New()

Abfrage.Show 'Hierdurch wird das Formular Abfrage beim Öffnen eines neuen Dokuments geöffnet.

End Sub

In deinem Formularfeld könntest du außerdem folgenden Makrocode benutzen:

Private Sub btnOK_Click()

'Hierdurch würden bei einem Klick auf die Schalfläche OK deines Abfrageformulars die Felder befüllt.

With ActiveDocument

 .Bookmarks("Auftragsnr1").Range.Text = Abfrage.Auftragsnummer.Value

 .Bookmarks("Auftragsnr2").Range.Text = Abfrage.Auftragsnummer.Value

End With

Unload Abfrage 'Hierdurch würde am Ende dein Formular Abfrage geschlossen.

End Sub

Das ist jetzt aber wirklich nur graue Theorie, da mir Angaben von deiner Seite fehlen, wie der Prozess genau ablaufen soll.

Ich hoffe, ich konnte dir wenigstens Anregungen bieten. So würde ich es machen.

Gruß, BerchGerch

Woher ich das weiß:eigene Erfahrung – Ich arbeite seit 30 Jahren nahezu täglich mit Word.

Dazu brauchst du ein Makro mit der Bezeichnung "Sub Document_Open()" unter ThisDocument oder "Sub AutoOpen()" in einem normalen Modul.