Wie kann ich automatisch Textfelder abfragen lassen bei Word?
Hallo Community, ich würde gerne eine Word vorlage erstellen, wo ich, wenn ich das Dokument öffne, eingeben kann, was eingetragen werden soll. Ein Beispiel: Ich habe ein Dokument, öffne es und das Dokument fragt mich direkt, an welche Adresse das Dokument geschickt wird und welche Auftragsnummer ich habe. Wenn ich jetzt zB die Aiftragsnummer eintrage, füllt er mir mehrere Felder mit dieser Nummer aus. Wenn Sie eine Idee haben, würde ich mich freuen
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
Dazu brauchst du ein Makro mit der Bezeichnung "Sub Document_Open()" unter ThisDocument oder "Sub AutoOpen()" in einem normalen Modul.