Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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

Word Replace Via Excel 2007

Word Replace Via Excel 2007
Tobias
Hi zusammen,
ich habe folgendes Problem. Ich möchte gerne über Excel verschiedene Platzhalter mit der Replacefunktion ersetzen. Jedoch geschieht das einfach nicht. Das Programm läuft fehlerfrei ab, jedoch werden die Platzhalter nicht ersetzt.
Ich habe das Problem schoneinmal angesprochen und da trat das Problem anscheinend nur in Office 2007 auf. Weiß jemand Rat wie ich das trotzdem in Office 2007 hinbekommen kann?
Vielen dank schoneinmal.
Hier der Code
Sub replace(doc As Object)
With doc.Content.Find
.Text = "Lücke"
.Replacement.Text = "Hallo"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute replace:=wdReplaceAll
End With
End Sub
Sub ersetzen()
Dim appWRD As Object
Dim objDoc As Object
Set appWRD = GetObject(, "Word.application")
Set objDoc = appWRD.Documents.Open("c:test.doc")
replace objDoc
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Word Replace Via Excel 2007
17.09.2009 14:25:07
Luschi
Hallo Tobias,
habe gerade Dein Problem getestet. Es funktioniert schon:
Sub ersetzen()
Dim appWRD As Object
Dim objDoc As Object
'Winword öffnen
Set appWRD = CreateObject("Word.application")
'Datei öffnen
Set objDoc = appWRD.Documents.Open("y:\doc1.doc")
replacePH objDoc
'Winword sichtbar machen
appWRD.Visible = True
'Objektvariablen zerstören
Set objDoc = Nothing
Set appWRD = Nothing
End Sub
oder:
Sub Ersetzen()
Dim appWRD As Object
Dim objDoc As Object
'Winword öffnen
Set appWRD = CreateObject("Word.application")
'Datei öffnen
Set objDoc = appWRD.Documents.Open("y:\doc1.doc")
replacePH objDoc
'Datei speichern
objDoc.Save
'Datei schließen
objDoc.Close
'Winword schließen
appWRD.Quit
'Objektvariablen zerstören
Set objDoc = Nothing
Set appWRD = Nothing
End Sub
Die Prozedur 'replace' würde ich allerding umbenennen in 'replacePH', da es in Excel-Vba schon eine interne Funktion 'Replace' gibt.
So wie Du die Prozedur 'ersetzen' geschrieben hast, wurden zwar die gewünschten Änderungen realisiert. Da aber Winword unsichtbar und die doc-Datei noch nicht gespeichert ist, kommt man an die Datei nicht heran und das WinWord-Objekt kann man nur über den Taskmanager als Prozeß beenden. Dann sind allerdings die Änderungen hinfällig, da die Datei dabei nicht gespeichert wird.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Word Replace Via Excel 2007
17.09.2009 15:33:06
Tobias
Hmm komisch
ich hab das jetzt mit beiden Varianten versucht, jedoch ersetz er es immer noch nicht :(
Gibts da vielleicht noch andere Gründe, dass es nicht funktioniert? Du hast in der replacePH Funktion dann nichts mehr geändert oder?
Schonmal danke für deine Mühe!
Gruß
Tobias
AW: Word Replace Via Excel 2007
17.09.2009 16:25:58
Luschi
Hallo Tobias,
ich probiere es heute Abend mal mit Excel2007 & Word2007 und berichte morgen früh.
Gruß von Luschi
aus klein-Paris
AW: Word Replace Via Excel 2007
18.09.2009 10:10:19
Luschi
Hallo Tobias,
auch mit Office 2007 (Winword und Excel) klappt es bestens.
Hier mal meine beiden Dateien gezippt: https://www.herber.de/bbs/user/64522.zip
Beachte bitte die Komentare im VBA-Code der xls.Datei!
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Word Replace Via Excel 2007
18.09.2009 10:40:59
Tobias
Hi Luschi,
jaa jetzt hat es bei mir auch geklappt. Ich denke es hing an der Einbinfung der Object Libaries. Vielen Dank!!
Gruß
Tobias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige