Supportnet / Forum / Tabellenkalkulation
WORD-Datei in EXCEL über VBA öffnen
Frage
Hallo Supportgemeinde,
ich arbeite in EXCEL mit VBA. In meiner EXCEL Datei habe ich Felder, die in eine WORD Datei übertragen werden müssen.
Nun kann ich in EXCEL/VBA die WORD Datei nicht öffnen, es kommt immer der Fehler 424 "Objekt erforderlich".
Ich glaube, es fehlt irgendwie eine Definition, denn wenn ich den VBA-Code in eine WORD Datei bringe, geht es.
Hat jemand eine Idee?
Danke & Gruß
Antwort 1 von JoeKe
Antwort 2 von user3
Hallo JöKe,
vielen Dank für den Tipp, das Filehandling hat geklappt, siehe anbei das SUB (ein Fehler ist noch bei der GEHEZU Funktion, da bekomme ich immer "Textmarke nicht definiert", obwohl die sicher da ist. Hast Du da noch einen Tipp?
Vielen Dank nochmal & Gruß
Sub worddatei_anlegen(inhalt As String, _
speichern_unter_dateiname As String, _
vorlagen_dateiname)
Dim objWord As Object
Rem Erzeugt eine WORD-Applikation
Set objWord = CreateObject("Word.Application")
Rem Öffne nun die Vorlagendatei in WORD
With objWord
.Documents.Open filename:=vorlagen_dateiname
.Visible = True
.Activate
End With
Rem In der Vorlagendatei ist die Textmarke "lieferdatum" definiert
Rem GeheZu der Textmarke und fülle an diese Stelle den Parameter <inhalt> ein
With objWord
.Selection.Goto What:=wdGoToBookmark, Name:="lieferdatum" ´<== da kommt ein Laufzeitfehler!!
.Selection.Find.ClearFormatting
.Selection.TypeBackspace
.Selection.TypeText Text:=inhalt
End With
Rem Geänderte Vorlagendatei unter neuem Namen <speichern_unter_dateiname> speichern
With objWord
.ActiveDocument.SaveAs filename:=speichern_unter_dateiname
.ActiveDocument.Close
End With
Rem WORD-Applikation muss wieder geschlossen werden
objWord.Application.Quit
Rem löscht den Verweis auf das WORD Objekt
Set objWord = Nothing
End Sub
vielen Dank für den Tipp, das Filehandling hat geklappt, siehe anbei das SUB (ein Fehler ist noch bei der GEHEZU Funktion, da bekomme ich immer "Textmarke nicht definiert", obwohl die sicher da ist. Hast Du da noch einen Tipp?
Vielen Dank nochmal & Gruß
Sub worddatei_anlegen(inhalt As String, _
speichern_unter_dateiname As String, _
vorlagen_dateiname)
Dim objWord As Object
Rem Erzeugt eine WORD-Applikation
Set objWord = CreateObject("Word.Application")
Rem Öffne nun die Vorlagendatei in WORD
With objWord
.Documents.Open filename:=vorlagen_dateiname
.Visible = True
.Activate
End With
Rem In der Vorlagendatei ist die Textmarke "lieferdatum" definiert
Rem GeheZu der Textmarke und fülle an diese Stelle den Parameter <inhalt> ein
With objWord
.Selection.Goto What:=wdGoToBookmark, Name:="lieferdatum" ´<== da kommt ein Laufzeitfehler!!
.Selection.Find.ClearFormatting
.Selection.TypeBackspace
.Selection.TypeText Text:=inhalt
End With
Rem Geänderte Vorlagendatei unter neuem Namen <speichern_unter_dateiname> speichern
With objWord
.ActiveDocument.SaveAs filename:=speichern_unter_dateiname
.ActiveDocument.Close
End With
Rem WORD-Applikation muss wieder geschlossen werden
objWord.Application.Quit
Rem löscht den Verweis auf das WORD Objekt
Set objWord = Nothing
End Sub
Antwort 3 von user3
Hallo,
die Textmarke wird wie folgt verändert :
...
With objWord
.ActiveDocument.Bookmarks("lieferdatum").Range.Text = inhalt
End With
Die "GoTo" -Methode ist nicht gut, siehe dazu den Link
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0036.shtml
Gruß & danke nochmal für die Hilfe
User3
die Textmarke wird wie folgt verändert :
...
With objWord
.ActiveDocument.Bookmarks("lieferdatum").Range.Text = inhalt
End With
Die "GoTo" -Methode ist nicht gut, siehe dazu den Link
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0036.shtml
Gruß & danke nochmal für die Hilfe
User3

