Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Mehrfachsuche und Ersetzen Word

VBA Mehrfachsuche und Ersetzen Word
06.12.2020 14:27:27
Sven
Hallo Freunde der ungezügelten VBA-Programmierung,
als Noob in VBA und vielem erfolglosen Googlen versuche ich es einmal hier und komme gleich zum Punkt.
Ich habe eine vorgegebene Exceldatei und ein vorgegebenes Wordformular.
Die Exceldatei hat verschiedene Daten die ich nach Word copieren möchte:
- Autor,
- Produktname,
- Produktcode, etc
Dafür speichere ich den Zelleninhalt in einer Variablen. Als nächstes suche ich in Word nach einem Wort z.B. Author01 und möchte dies durch den Namen des Autors ersetzen. Sprich das Wort Author01 wird zu Martin Mustermann . Wenn ich nun nach dem zweiten Wort suche Produkname01 wird in der Worddatei Martin Mustermann markiert und mit dem Inhalt von Produktname aus VBA überschrieben.
Hier der Code:

Sub WordFuellen()
'Variablen fix im Quellcode
Dim objWord As Object
Dim strPfad As String, findWord As String, replaceWord As String
'variable aus Excelsheet
Dim Name As String, ProdName1 As String
Dim result As String
'Pfad in dem das Tamplate liegt
strPfad = "C:\Users\Joda\TEMPLATE.docx"
'Word als objekt definieren
Set objWord = CreateObject("Word.application")
'Worddatei öffnen
With objWord
.Application.Visible = True
.Application.Documents.Open (strPfad)
End With
'Einlesen der ersten Variable aus Excel (Author)
Name = Range("J8")
findWord = ""
replaceWord = Name
'Suchen ersetzen in Word
With objWord.ActiveWindow.Selection
.Find.text = findWord
.Find.Execute
.Find.Forward = True
.Find.Wrap = wdFindContinue
.Find.MatchWholeWord = True
.text = replaceWord
End With
'Einlesen der zweiten Variablen aus Excel (ProduktName)
ProdName1 = Worksheets("Tabelle2").Range("D2")
findWord = ""       'Dieses Wort wird nicht gefunden sonder das vorherig
replaceWord = ProdName1
'Zweite Suchen und Ersetzen in Word. Hier wird leider nicht das gesuchte Word markiert, sonder  _
das von der ersten Suche
objWord.ActiveWindow.Selection.ClearFormatting
With objWord.ActiveWindow.Selection
.Find.ClearFormatting
.Find.text = findWord
.Find.Forward = True
.Find.Execute
.Find.Wrap = wdFindContinue
.Find.MatchWholeWord = True
.text = replaceWord
End With
End Sub

Wäre super wenn ihr mir einen Code zeigt, mit dem ich mehrfach suchen kann und die gefunden Wörter ersetzen kann. Ich probiere da schon ne gute Woche und habe keinen Plan, was ich noch probieren soll. Alles war leider bisher erfolglos. Jetzt hoffe ich das ihr die Zeit habt mir zu helfen.
Schon einmal vielen Dank.
Beste Grüße
Sven

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Mehrfachsuche und Ersetzen Word
06.12.2020 15:45:25
Sven
Moin Hajo,
Ist mir auch schon aufgefallen. Ich weiß leider nicht wie ich den zweiten Post löschen kann.
Anzeige

254 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige