Ich hatte vor kurzem schon mal das Problem, Formularfelder in einem Word-Dokument anzusprechen, was ja hier ratz-fatz gelöst wurde.
Jetzt möchte ich das Problem gern erweitern:
Also: Gegeben ist eine Excel-Tabelle, in der ein Word-Formular eingebettet ist, welche mehrere Formfields enthält, die ich nun aus Excel heraus befüllen möchte.
Mit u.a. Code komme ich bis zur 4. Zeile. Das Tabellenblatt "PK" wird aufgerufen und das dort vorhandene Word-Objekt wird aktiviert. Word wird im Hintergrund geladen.
Wenn jetzt aber mit "ActiveDocument... "der Inhalt der Variablen "Nachname" als Ergebnis in das Formfeld "Nachname" (ja, ist vorhanden!) eingefügt werden soll, bekomme ich einen Laufzeitfehler "4605" "Die Methode 'Result' für das Objekt "FormField" ist fehlgeschlagen...
Ein Idee?
Sub test_word_formfield()
Set wordObj = Worksheets("PK").OLEObjects(1) ' Tabellenblatt "PK" aktivieren
wordObj.Activate 'Eingebettetes Word-Doc aktivieren
Nachname = Sheets("Ergebnisse").Cells(4, 1) ' Variable "Nachname" aus Blatt "Ergebnisse" _
holen
ActiveDocument.FormFields("Nachname").Result = Nachname ' Feld "Nachname" mit Variable " _
Nachname" befüllen
Set wordObj = Nothing
End Sub
Ach ja, eins noch: Wenn ich dann die Zeile im Debugger überspringe, bleibt Word im Hintergrund geöffnet. Wie bekomme ich das denn geschlossen? Ich dachte, das "Set wordobj = Nothing" würde das bewirken?Gruß,
Mike