|  
                                             
	Hallo zusammen, 
	für meine Bewerbung erstelle ich zahlreiche Vorlagen, die teilweise bis auf kleine Unterschiede identisch sind. 
	Da ich häufig Ergänzungen oder Ersetzungen vorzunehmen habe und ich nicht jedes Mal alle Vorlagen manuell ändern möchte, wollte ich mir ein Makro hierfür erstellen. 
	Ich habe mich einmal an den Code gewagt: 
Sub ErsetzenDokumentenübergreifend()
  Dim docDoc As Document
  Dim shapeTF As Shape
  Dim strOld As String
  Dim strNew As String
  strOld = "Text zuvor"                  'Anpassen
  strNew = "Text danach"         'Anpassen
  For Each docDoc In Documents
    docDoc.Activate
    
    For Each shapeTF In docDoc.Shapes
      shapeTF.Select
      With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = strOld
        .Replacement.Text = strNew
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = True
      End With
    
      Selection.Find.Execute Replace:=wdReplaceAll
      
    Next shapeTF
    
    Selection.HomeKey unit:=wdStory
        
    With Selection.Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Text = strOld
      .Replacement.Text = strNew
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = True
      .MatchWholeWord = True
    End With
    
    Selection.Find.Execute Replace:=wdReplaceAll
  Next docDoc
End Sub
	Leider funktioniert dieser Algo nicht zuverlässig. An ein paar Testungen hat es funktioniert, manchmal jedoch klappt es auch nur im aktuell geöffneten Dokument. 
	Könnte mir da jemand auf die Sprünge helfen, wo der Fehler liegen könnte? 
	PS: Die innere For Each - Schleife klappert die ganzen Shapes des Dokuments ab, da ich schon herausgefunden habe, dass ich nur im selektierten Textfeld etwas Suchen&Ersetzen kann (oder ich weiß einfach nicht, wie es besser geht)... 
	Ich nutze Microsoft Office Word 2010 und habe kaum Erfahrung mit VBA. 
	Für konstruktive Vorschläge bin ich sehr dankbar. 
	LG Martin 
     |