Von Excel aus in Word Dateien Suchen und Ersetzen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Von Excel aus in Word Dateien Suchen und Ersetzen von: Stefan
Geschrieben am: 04.02.2005 13:03:11

Hallo zusammen,

ich habe ein Problem beim Suchen und Ersetzen in Fusszeilen von Word. Leider wird beim Suchen und Ersetzen nur der Hauptteil des Dokumentes durchsucht. Das Makro wird von Excel aus ausgeführt, öffnet ein Worddokument, sucht und ersetzt bestimmte Werte und speichert das Worddokument anschließend.

Sub Word_Dokument_von_Excel()
Dim myWord As Object
    Dim i As Integer
    For i = 31 To 35
        On Error Resume Next
        Set myWord = GetObject("Word.Application.10")
        If Err.Number <> 0 Then
            Err.Clear
            Set myWord = CreateObject("Word.Application.10")
            myWord.Visible = False: objWW.WindowState = wdWindowStateMinimize
        Else
            myWord.Activate
            myWord.Visible = False: objWW.WindowState = wdWindowStateMinimize
        End If
        'Template öffnen
        Dim opener
        opener = PathToTsiTemplates & "Testfuss.dot" 'Tsi01
    
        myWord.Application.Documents.Open opener
        Static Searchme(15) As String
        Static Replaceme(15) As String
        Searchme(0) = ""
        Replaceme(0) = ""
        Searchme(1) = "Test123"
        Replaceme(1) = Worksheets("Daten").Range("C" & i)
        For j = 1 To 14
            Suchen und Ersetzen im SToryType FullText
            With myWord.Selection.Find      'Suchen und Ersetzen aktivieren
                .ClearFormatting            'Formatierung ignorieren
                .Text = Searchme(j)         'Suchen nach
            
            'MsgBox (Searchme(j) & Replaceme(j))
            'MsgBox ("Suchen und Ersetzen gestartet")
            '
                .Replacement.ClearFormatting
                .Replacement.Text = Replaceme(j)   'Ersetzen durch
               .Execute Replace:=wdReplaceAll, Forward:=True, _
                   Wrap:=wdFindContinue, MatchWholeWord:=True
            End With
        Next j
        OutputTsi01 = PathForTsiTemplates & Worksheets("Daten").Range("A" & i) & " " & Tsi01
        myWord.ActiveDocument.SaveAs Filename:=OutputTsi01, FileFormat:=wdFormatTemplate
        myWord.Application.Quit (True)
        Set myWord = Nothing
    Next i
End Sub

Bild


Betrifft: AW: Von Excel aus in Word Dateien Suchen und Ersetzen von: stefan onken
Geschrieben am: 04.02.2005 14:41:55

hallo Stefan,
hier http://mypage.bluewin.ch/reprobst/WordFAQ/Range.htm#Range0604 findest du das Header/Footer-Objekt von Word beschrieben.
Frage doch in einer WordVBA-NG nach dem Code zum Suchen/Ersetzen in der Kopf/Fußzeile, dann brauchst du "nur" noch dein myWord-Objekt davorzusetzen.

Gruß
stefan


Bild


Betrifft: AW: Von Excel aus in Word Dateien Suchen und Ersetzen von: Stefan
Geschrieben am: 04.02.2005 14:44:16

Hallo Stefan,

vielen Dank für deine schnelle Antwort und den Link. Werde mich dann mal durch das Footer-Objekt durchlesen.

Gruß
Stefan


Bild


Betrifft: AW: Von Excel aus in Word Dateien Suchen und Ersetzen von: Stefan
Geschrieben am: 04.02.2005 16:00:47

So funktionierts grob...für alle die ein ähnliches problem haben...

--schnipp--
For j = 1 To 14
myWord.Application.ScreenUpdating = False
For Each Teil In myWord.ActiveDocument.StoryRanges
Teil.Find.Execute FindText:=Searchme(j), _
ReplaceWith:=Replaceme(j), _
Replace:=wdReplaceAll
While Not (Teil.NextStoryRange Is Nothing)
Set Teil = Teil.NextStoryRange
Teil.Find.Execute FindText:=Searchme(j), _
ReplaceWith:=Replaceme(j), _
Replace:=wdReplaceAll
Wend
Next
myWord.Application.ScreenUpdating = True
Next j


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Von Excel aus in Word Dateien Suchen und Ersetzen"