Textformularfeld in WORD XP mit Makro ausfüllen

Hallo,

ich habe ein WORD Dokument und eine EXCEL Tabelle.
Im WORD Dok sind mehrere Textfelder.
Wenn ich einen Makro ausführe, dann sollen alle Textfelder einen bestimmten Wert aus der EXCEL Tabelle bekommen.
Das klingt wie ein Serienbrief, aber die Lösung gefällt mir nicht.
Wie kann ich so einem Textfeld einen Wert zuweisen?

Wenn mir einer auch noch erklären kann, wie andere Anwendungen in solche Felder schreiben können, dann wäre ich glücklich.
(Z.B. ein medizinisches Diagnose Programm schreibt den Befund in ein WORD Dokument)

Vielen Dank für die Hilfe

Malte

Hallo, Malte!

ich habe ein WORD Dokument und eine EXCEL Tabelle.
Im WORD Dok sind mehrere Textfelder.
Wenn ich einen Makro ausführe, dann sollen alle Textfelder

Die Frage ist: Wo führst Du das Makro aus? Du brauchst in jedem Fall Verweise auf beide Office-Komponenten, d. h. Excel und Word, um entweder von Word aus die Excel-Objekte auszulesen oder von Excel aus die Word-Felder zu setzen.

einen bestimmten Wert aus der EXCEL Tabelle bekommen.
Das klingt wie ein Serienbrief, aber die Lösung gefällt mir
nicht.
Wie kann ich so einem Textfeld einen Wert zuweisen?
Wenn mir einer auch noch erklären kann, wie andere Anwendungen
in solche Felder schreiben können, dann wäre ich glücklich.
(Z.B. ein medizinisches Diagnose Programm schreibt den Befund
in ein WORD Dokument)

Da ist die Frage, wie das medizinische Diagnoseprogramm geschrieben ist. Wenn es z. B. in VB geschrieben ist und Du die Sourcen hast, setzen wir obiges ganz einfach fort: Auch hier brauchst Du den Verweis auf die Word-Bibliothek. Die Verweise setzt Du unter VB(A) über „Extras“-„Verweise“.

Dann nimmst Du Dir am besten Dein Word-Dokument, zeichnest Dir das Setzen eines Textfeldes als Makro auf, und schon hast Du das Grundgerüst. Ich habe das auch schon gemacht, aber gerade den Source nicht zur Hand; ist aber recht easy.

Du solltest dabei Deinen Word-Feldern halbwegs schöne Namen geben, denn im Sourcecode nach „Textfeld37“ zu suchen und zu überprüfen, ob das richtig ist, ist eine unlustige Sache. Also per Doppelklick auf das Textfeld gehen und den Textmarkennamen definieren.

Du musst hier übrigens unterscheiden, ob Du Textmarken oder Formularfelder verwendest. Die Zuweisung erfolgt dann (bitte nicht drauf festnageln) entweder über „Gehe zu“ Textmarke (selection.GoTo wdGoToBookmark,„Name“) und Selection.TypeText (dabei aufpassen, dass die Textmarke nicht überschrieben wird) oder über die Zuweisung einer Eigenschaft des FormFields-Objekts (welche weiß ich grad nicht). Beim Makro aufzeichnen bzw. in der Hilfe solltest Du die Infos dazu finden.

Gruß, Manfred