ich möchte aus Excel eine Word-Vorlage öffnen, diese mit verschiedenen Daten aus Excel füllen, das Dokument drucken und speichern. Aus verschiedensten Quellen habe ich mir die Informationen zusammengesucht und es funktioniert alles weitestgehend reibungslos.
Dim WordObj As Object
'Word starten
On Error Resume Next
'falls Word bereits läuft
If Left(Application.Version, 1) = 1 Then Set WordObj = GetObject(, "word.application.10")
If Left(Application.Version, 1) = 9 Then Set WordObj = GetObject(, "word.application.9")
If Err.Number = 429 Then
'falls Word noch nicht läuft
If Left(Application.Version, 1) = 1 Then Set WordObj = CreateObject("word.application.10")
If Left(Application.Version, 1) = 9 Then Set WordObj = CreateObject("word.application.9")
Err.Number = 0
End If
'Vorlage öffnen
WordObj.Documents.Add Template:=(ModulDateien.Pfad & "\" & "Vorlage.dot")
'Textmarken füllen
With WordObj.ActiveDocument
.ReadOnly = False
.Bookmarks("Anrede1").Range.Text = sAnrede1
.Bookmarks("Vorname").Range.Text = sVorname
...
End With
Nun will ich die vorhandene Tabelle 1 evtl. um Zeilen erweitern und dann mit Daten füllen.
So habe ich es mir gedacht:
'Zeilen der Tabelle in Word ergänzen
If AnzahlZeilen ... Then
WordObj.ActiveDocument.Tables(1).Rows(2).Select
Selection.InsertRowsBelow AnzahlZeilen
End If
'Text in die Tabelle schreiben
With WordObj.ActiveDocument
.ReadOnly = False
.Tables(1).Cell(Row:=2, Column:=1).Range
.InsertAfter Text:="Testtext"
End With
Irgend etwas an dem Code ist falsch. Nur was? Bemeckert wird der Text jedenfalls nicht, nur ignoriert. Wer kennt sich da aus?
Ich bin für jeden Tipp dankbar.
Gruß
Thomas