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

Replace Funktion Word Objekt in Excel

Replace Funktion Word Objekt in Excel
Tobias
Hallo miteinander,
ich habe ein Word Objekt in VBA eingebettet und in diesem Word Objekt ist ein gegebener Text. Jetzt möchte ich eine bestimmt Stelle mit der Replace - Funktion ersetzten.
Kann mir einer helfen?
Öffnen tu ich das OBjekt folgendermaßen:
Worksheets("Sheet1").OLEObjects("Zwischenspeicher").Verb Verb:=xlOpen
Set OLEDOk2 = Worksheets("Sheet1").OLEObjects("Zwischenspeicher").Object.Application.ActiveDocument
Vielen Dank für eure Hilfe
AW: Replace Funktion Word Objekt in Excel
08.07.2009 09:22:50
Kawensmann
Hallo,
warum ein neuer Thread?
Hier ein Ansatz. Der Code erstzt im ersten Abschnitt des Dokuments das Wort "Text" durch "toller Text".

Dim strText As String
Dim ole As OLEObject
Dim obj As Object
Dim objWdSection As Object
Set ole = Worksheets("Sheet1").OLEObjects("Zwischenspeicher")
Set obj = ole.Object
Set objWdSection = obj.sections(1)
strText = objWdSection.Range.Text
objWdSection.Range.Text = Replace(strText, "Text", "toller Text")


Gruß
Kawensmann

AW: Replace Funktion Word Objekt in Excel
08.07.2009 10:14:41
Tobias
Hallo,
erst einmal danke! Dein Ansatz funktioniert rein theoretisch schon! Aber das Problem, dass ich jetzt dabei hab ist, dass meine ganze Formatierung zerschossen wird. Da sind Abschnitte(obere Seite, links vom Text) drin (auch mit Bildern), die komplett rausgelöscht werden.
Kann man das irgendwie anpassen?
Ich habe noch 2 Ansätze in einem Word VBA Buch gefunden aber der erste läuft zwar fehlerfrei durch, jedoch wird der Text nicht geändert(vielleicht suchht er nur im ersten Abschnitt?) nicht und bei dem 2. weiß ich leider nicht wie ich das in Excel umsetzten kann.
1. Ansatz
With OLEDok2.Range
.HighlightColorIndex = wdNoHighlight
.Font.Color = wdColorAutomatic
End With
With OLEDOK2.Range.Find
.MatchWildcards = False
.MatchCase = False
.Text = "blub"
.Replacement.Text = "Hallo du"
.Execute Replace:=wdReplaceAll
End With
2. Ansatz
For Each rngStory In ActiveDocument.StoryRanges
Do Until rngStory Is Nothing
With rngStory.Find
.Text = "Suchbegriff"
.Replacement.Text = "Ersetzbegriff"
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
Set rngStory = rngStory.NextStoryRange
Loop
Next rngStory
Keine Ahnung ob eine von den beiden Methoden mir helfen würden aber das könnt ihr mir bestimmt sagen.
Ich habe mal das Word Dokument als solches mit hochgeladen, um zu zeigen, wie es aussieht.
https://www.herber.de/bbs/user/63003.doc
Vielen Dank schoneinmal
Gruß
Tobias
Anzeige
AW: Replace Funktion Word Objekt in Excel
08.07.2009 10:33:05
Kawensmann
Dann durchsuch doch alles Abschnitte:

Dim ole As OLEObject
Dim OLEDOK2 As Object
Dim objWdSection As Object
Dim i As Integer
Set ole = Worksheets("Sheet1").OLEObjects("Zwischenspeicher")
ole.Activate
Set OLEDOK2 = ole.Object
For Each objWdSection In OLEDOK2.sections
With OLEDOK2.Range.Find
.MatchWildcards = False
.MatchCase = False
.Text = "blub"
.Replacement.Text = "Hallo du"
.Execute Replace:=wdReplaceAll
End With
Next


Das gesuchte Wort sollte natürlich im Text schon vorkommen, was bei deiner Beispieldatei nicht der Fall war...

Anzeige
AW: Replace Funktion Word Objekt in Excel
08.07.2009 10:55:19
Tobias
Ich habe das jetzt eingefügt,aber über Excel macht er dabei auch nix :(
Wenn ich nämlich das Word als extra Dokument speicher und den Code für Word verändert einfüge, dann funktioniert es. Nur über diese Excel Objekte nicht.
Ich habe dir jetzt nochmal das Excel Sheet eingfefügt, das nur den Kopier und Replace Vorgang beinhaltet.
https://www.herber.de/bbs/user/63005.xlsm
Vielleicht hast du ja da noch eine Idee?
Wäre total super
AW: Replace Funktion Word Objekt in Excel
08.07.2009 11:05:59
Kawensmann
Hab' hier kein Office 2007!
AW: Replace Funktion Word Objekt in Excel
08.07.2009 11:14:08
Kawensmann
Konnte es jetzt doch öffnen. Tja, stimmt, hier läufts nicht. In Excel 2003 hat's bei mir funktioniert.
Anzeige
AW: Replace Funktion Word Objekt in Excel
08.07.2009 11:20:39
Tobias
Hmm schade,
aber vielen Dank für deine Hilfe. Wenn dir nochwas einfällt ich bin für alles mögliche offen!
Ich könnte doch auch rein theoretisch das Word Dokument als eigene Datei öffenen und den Inhalt kopieren und dann ein Marko in der Word - Datei ausführen.
Aber wie kann ich dann über Excel sagen, dass ich ein Macro in der Word Datei ausführe und anschließend den geänderten Inhalt wieder kopiere?
AW: Replace Funktion Word Objekt in Excel
08.07.2009 13:24:28
Tobias
Hat sich erledigt. Habe ne Lösung mit Sendkeys gefunden.
Gruß
Tobias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige