Hallo zusammen,
nachdem ich nun einen ganzen Tag mich daran versucht habe und nicht die richtige Lösung gefunden habe, ist das Forum meine letzte Hoffnung.
Was möchte ich erreichen?
Ich habe eine Word Vorlage (.dotm Datei), anhand derer ich ein neues Dokument erstelle.
Im neuen Dokument soll dann ein bestimmter Text ausgetauscht werden durch einen anderen Wert.
Die Datei soll dann mit dem ersetzten Text gespeichert werden.
Das klappt bereits:
- Erstellen der neuen Datei
- Speichern der neuen Datei
Folgendes passiert, wenn ich versuche, Text zu ersetzen:
Der zu ersetzende Text wird in der Vorlage ersetzt. Die neue Datei bleibt unberührt.
Was habe ich probiert, um das Problem zu lösen?
- Aktivieren der Word Instanz, in der das neue Dokument ist
- Selection und Range setzen (schwierig für mich zu kontrollieren, ob das richtige im Selection Object ist oder nicht)
So sieht mein Code aus:
'Platzierungsdatei öffnen
Set excel = CreateObject("excel.application")
excel.Workbooks.Open FileName:=pfadUrkunden
'Word Instanz öffnen
Dim wdDocument As Object
Dim Word As Object
Set Word = CreateObject("Word.Application")
Do While excel.Worksheets("TN").Cells(iIndex, 1).Value <> ""
sName = excel.Worksheets("TN").Cells(iIndex, 1).Value
Set wdDocument = Word.Documents.Add(vorlagePfad)
Word.Visible = True
'[Vorname Nachname] ersetzen
Word.Activate
ActiveDocument.Shapes.Range(Array("Textfeld 2")).Select
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[Vorname Nachname]"
.Replacement.Text = sName
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ausgabeOrdner = ausgabeOrdner & "\" & sName
wdDocument.SaveAs (ausgabeOrdner)
'+55 um nur einen Eintrag zu testen
iIndex = iIndex + 55
Loop
Word.Quit
Set Word = Nothing
excel.Quit
Ich habe Office 365 und versuche das Programm aus der .dotm Datei zu starten.
Ich bitte um Hilfe und freue mich über jede Idee!
Vielen Dank schonmal!
|