Note: The other languages of the website are Google-translated. Back to English

Wie suche und ersetze ich mehrere Dateien in Word?

Wenn Sie mehrere Dutzend Word-Dateien haben, die denselben Inhalt enthalten (z. B. Kopf- und Fußzeile, einige spezielle Wörter oder Zahlen), und Sie denselben Inhalt in diesen Dokumenten in Word ersetzen müssen. Wie wäre es für Sie einfacher, dies schnell zu erledigen? Natürlich können Sie diese Dateien einzeln öffnen, um denselben Inhalt zu ersetzen, aber dies ist zeitaufwändig und mühsam. Dieses Tutorial zeigt Ihnen eine schwierige Möglichkeit, denselben Inhalt in mehreren Dokumenten in Word gleichzeitig zu ersetzen.

Suchen und ersetzen Sie Texte in mehreren Word-Dokumenten gleichzeitig durch VBA-Code
Mit Kutools for Word können Sie problemlos verschiedene Texte in mehreren Dokumenten gleichzeitig finden und ersetzen


Suchen und ersetzen Sie Texte in mehreren Word-Dokumenten gleichzeitig durch VBA-Code

1. Drücken Sie Andere + F11 öffnen Microsoft Visual Basic für Applikationen Fenster.

2. In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster InsertModulKopieren Sie dann den folgenden VBA-Code in das Modulfenster.

VBA-Code: Gleiches Suchen und Ersetzen desselben Inhalts über mehrere Dokumente hinweg

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. Drücken Sie die Taste F5 Schlüssel zum Ausführen des Codes.

4. In der Öffnung Entdecken Im Fenster suchen und wählen Sie die Dokumente aus, in denen Sie Text finden, und ersetzen Sie sie. Klicken Sie dann auf OK Taste. Siehe Screenshot:

5. Im ersten Kutools for Word Geben Sie im Dialogfeld den Text ein, den Sie in allen Dokumenten finden Finden Sie, was Feld, und klicken Sie dann auf OK .

6. In dieser Sekunde Kutools for Word Geben Sie im Dialogfeld den Text ein, durch den Sie ersetzen möchten, und klicken Sie auf OK .

8. Klicken Sie auf die OK Schaltfläche im nächsten Microsoft Word Dialogfeld zum Beenden des Suchens und Ersetzens.

In diesem Fall werden alle Wörter "Word" in ausgewählten Dokumenten gleichzeitig durch "Excel" ersetzt.


Mit Kutools for Word können Sie problemlos verschiedene Texte in mehreren Dokumenten gleichzeitig finden und ersetzen

Hier kann man das nur empfehlen Batch suchen und ersetzen Merkmal von Kutools for Word. Mit dieser Funktion können Sie problemlos verschiedene Texte in mehreren Word-Dokumenten gleichzeitig finden und ersetzen. Lassen Sie uns sehen, wie Sie diese Funktion anwenden, um Dokumente in verschiedenen Dokumenten zu finden und zu ersetzen.

Kutools for Word : mit mehr als 100 praktischen Word-Add-Ins, Kostenlos ohne Einschränkung in 60 Tagen zu versuchen.

1. Bitte klicken Sie Kutoolen Plus > Batch suchen und ersetzen um die Funktion zu aktivieren.

2. In dem Batch suchen und ersetzen Dialogfeld, bitte wie folgt konfigurieren.

  • 2.1) Klicken Sie auf Zeile hinzufügen Knopf unter dem Suchen und Ersetzen Tab;
  • 2.2) In den erstellten Zeilenfeldern:
A. Geben Sie den Text, den Sie finden, in das Textfeld ein FINDE Überblick
B. Geben Sie den zu ersetzenden Text in das Textfeld im Feld ein Ersetzen Säule;
C. Geben Sie einen Suchtyp an, in dem Sie den Text finden, und eine Farbe, um den Text nach Bedarf hervorzuheben. In diesem Fall wähle ich Vollständige Wortübereinstimmung, Hauptdokument und eine bestimmte Farbe aus dem Suchtyp, Zu finden in und Hervorheben Säulen;
  • 2.3) Wiederholen Sie die Schritte 2.1 und 2.2, um weitere Texte hinzuzufügen, die Sie finden und ersetzen werden.
  • 2.4) Klicken Sie auf  Knopf im Dateityp Abschnitt zum Hinzufügen der Word-Dokumente, in denen Sie Texte finden und ersetzen;
  • 2.5) Klicken Sie auf Ersetzen or FINDE Taste. Siehe Screenshot:

Anmerkungen:
1. Wenn Sie auf klicken FINDE Schaltfläche, werden alle Suchergebnisse unter der angezeigt Ergebnisvorschau Tab. Wenn Sie nach der Vorschau der Ergebnisse alle Texte ersetzen möchten, klicken Sie bitte auf Suchen und Ersetzen Tab. Andernfalls schließen Sie den Dialog.

2. Wenn Sie auf klicken Ersetzen Klicken Sie auf die Schaltfläche, alle angegebenen Texte werden sofort durch neue ersetzt, und die Ergebnisse werden auch unter angezeigt Ergebnisvorschau Tab.

3. Wenn Sie in Schritt 2 Hervorhebungsfarben angeben, werden alle ersetzten Texte mit den angegebenen Farben hervorgehoben, und Sie können sie auf einen Blick in Dokumenten leicht finden.

3. Schließe Batch suchen und ersetzen Dialogfeld

Weitere Informationen zu dieser Funktion erhalten Sie Klicken Sie hier ....

Wenn Sie dieses Dienstprogramm kostenlos testen möchten, gehen Sie zu Laden Sie die Software kostenlos herunter Wenden Sie zuerst die Operation gemäß den obigen Schritten an.


Empfohlene Word-Produktivitätswerkzeuge

 

Kutools für Word - Mehr als 100 erweiterte Funktionen für Word, sparen Sie 50% Zeit

  • Komplizierte und wiederholte Vorgänge können in Sekunden einmalig verarbeitet werden.
  • Fügen Sie mehrere Bilder über Ordner hinweg gleichzeitig in ein Word-Dokument ein.
  • Führen Sie mehrere Word-Dateien in Ordnern zu einer gewünschten Reihenfolge zusammen.
  • Teilen Sie das aktuelle Dokument nach Überschrift, Abschnittswechsel oder anderen Kriterien in separate Dokumente auf.
  • Konvertieren Sie Dateien zwischen Doc und Docx, Docx und PDF, eine Sammlung von Tools für allgemeine Konvertierungen und Auswahl usw.
Kommentare (69)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wird sie fragen, wo sich die betreffenden Dokumente befinden? Oder müssen alle Dokumente geöffnet sein?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn Sie es ausführen, öffnet es standardmäßig das Dialogfenster "Datei öffnen" zu "Eigene Dateien". Navigieren Sie zu dem Ordner, der die Word-Dateien enthält, an denen Sie die Änderungen vornehmen möchten. Sie können „Strg“ + „A“ drücken, um alle Dateien auszuwählen, oder die „Strg“-Taste gedrückt halten, während Sie bestimmte Dateien auswählen. Klicken Sie auf „Öffnen“ oder drücken Sie „Enter“ und beobachten Sie, wie die Magie geschieht.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ja, ich habe die gleiche Frage, da ich denke, dass dies nützlich wäre, aber ich möchte ihm sagen, dass er nur in bestimmten Ordnern suchen soll.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn Sie das Makro ausführen, wird das Fenster "Öffnen" geöffnet. Navigieren Sie zu dem Ordner, der die Dateien enthält, die Sie ändern müssen, klicken Sie dann einmal auf die erste und klicken Sie dann bei gedrückter „Strg“-Taste auf die anderen Dateien, die ebenfalls gesucht/ersetzt werden müssen. Wenn alle Dateien im Ordner die Aktion benötigen, drücken Sie einfach die Tasten „Strg“ und „A“. Klicken Sie dann auf „Öffnen“ oder drücken Sie die „Enter“-Taste, und das Makro beginnt. Ich sollte Sie warnen, da ich dies dutzende Male bei der Arbeit durchgeführt habe: Das Makro führt dazu, dass die Änderungen nur am *Body* des Word-Dokuments vorgenommen werden; Kopfzeilen, Fußzeilen und Titeltext/Alt-Text werden ausgeschlossen. Wenn Sie Text in den oben genannten Teilen haben, der ersetzt werden muss, müssen Sie ein Standard-Suchen/Ersetzen über einzelne Dokumente hinweg durchführen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Könnte diese VBA-Technik angepasst werden, um für Publisher-Dateien zu funktionieren? Zum Beispiel durch Ändern von *.docx in *.pub ?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wow, du bist ein Heiliger, weil du dieses Makro zusammengestellt hast! Ich höre 'Epic Battle Music' auf Songza, weil ich so ein Amateur-Makroschmied bin und es der einzige Weg ist, wie ich es durch den Schmerz und die Qual der Herstellung von Programmierzaubern schaffen kann. Wie auch immer, mein Punkt, den ich machen werde, ist, dass ich am Freitag viel Zeit damit verbracht habe, den Teil zu beheben, in dem Sie tatsächlich den Text eingeben, den Sie finden möchten, und den Text einzufügen, den Sie ersetzen möchten - ich habe diesen Teil nicht ganz verstanden Begriffe, wo ich meinen „Find“-Worttext und „Replace“-Worttext einfüge: [quote]Hinweis: Sie können den Text = „search“, Replacement.Text = „find“ ändern, um den zu durchsuchenden Inhalt und den Inhalt anzugeben Ersatz zu beantragen. [/quote] Ich habe mir das heute noch einmal durchgelesen und möchte es für andere Programmier-Nicht-Eingeweihte respektvoll klarstellen - stellen Sie in dem Abschnitt von VBA, in dem Sie die ursprüngliche Programmiersprache kopiert und eingefügt haben, sicher, dass Sie ein Ende ' nach dem setzen was und ein ' nach dem mit (siehe Beispiel unten) - in meinem Beispiel suche ich nach mehreren Dokumenten, um Pizza durch Stromboli zu ersetzen: .Text = "Pizza" 'Find What' .Replacement.Text = "Stromboli" 'Replace With'
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn ich es ausführe, hängt es sich auf und stoppt bei: Application.Run macroname:="NEWMACROS" und wenn ich es betrete, sagt es mir, dass ich einen Kompilierungsfehler habe: Benanntes Argument nicht gefunden. Was jetzt?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hat wunderbar funktioniert und mir viel Zeit und Mühe gespart. Vielen Dank.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich kann dies immer noch nicht auf meinem PC mit Windows 7 zum Laufen bringen. Wenn ich es ausführe, erhalte ich eine Fehlermeldung in der Zeile: -Windows(GetStr(j)).Activate The error msg. ist: -Kompilierungsfehler: -Sub oder Funktion nicht definiert Irgendeine Idee warum? Und wie kann man es beheben?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das hat bei mir endlich funktioniert. Ich hoffe, es hilft. Ich habe dieses Makro zu einer Word-Datei hinzugefügt. Es wird alle ausgewählten Dokumente ersetzen (Sie können so viele auswählen, wie Sie möchten), wenn der Dateidialog geöffnet ist. Es funktioniert nicht mit Unterordnern, also habe ich jeden Ordner in der Dateistruktur einzeln erstellt, aber es hat funktioniert. Es ist vielleicht nicht die beste Lösung, aber es funktioniert zumindest. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 Dateien ist die maximale Anwendung dieses Codes On Error Resume Next Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Ändern Sie diese Dateierweiterung in den entsprechenden Dokumenttyp. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Schritt 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Abschnitt dann entweder der eine oder der andere der folgenden Codeabschnitte.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sie fügen dann einen der folgenden beiden Abschnitte hinzu, je nachdem, ob es sich um einen Test oder einen zu ersetzenden Hyperlink handelt. '~~> Dieser Abschnitt, wenn er nicht auskommentiert ist, ersetzt den Text - NUR EINER VON ZWEI ABSCHNITTE KANN AUF EINMAL UNKOMMENTIERT WERDEN. Mit Selection.Find .Text = " http://www.google.co.uk" 'Find What .Replacement.Text = "http://www.google.com" 'Ersetzen durch .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Application.Run macroname:="NEWMACROS" ActiveDocument.ActiveDocument speichern.Nächste Anwendung schließen.ScreenUpdating = True End With MsgBox "operation end, please view", vbInformation '~~> Dieser Abschnitt ersetzt Hyperlinks, wenn er nicht auskommentiert ist. 'For i = 1 To doc.Hyperlinks.Count ' 'Wenn der Hyperlink übereinstimmt. ' If LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Then ' 'Ändern Sie die Adresse des Links. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Ändern Sie bei Bedarf den Anzeigetext der Links. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" 'End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpdating = True 'End With 'MsgBox "Operation end, please view", vbInformation End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Pia, ich versuche, Ihr Skript zum Ersetzen von Hyperlinks auszuführen, bekomme aber Fehler. Gibt es eine Chance, dass Sie das Skript zum Ersetzen von Hyperlinks in einem Stück veröffentlichen können? Ich muss etwas durcheinander bringen, wenn ich versuche, Ihren Code zusammenzufügen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es läuft nur über ausgewählte Dateien und Dateien dürfen sich nur in einem Ordner befinden. Dies wird als Makro in einem Word-Dokument ausgeführt. Es wird durch Klicken auf eine Schaltfläche ausgeführt. Es aktualisiert nur das Word-Dokument. Hoffe, das hilft. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 Dateien ist die maximale Anwendung dieses Codes On Error Resume Next Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Ändern Sie diese Dateierweiterung in den entsprechenden Dokumenttyp. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Schritt 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Wenn der Hyperlink übereinstimmt. Wenn LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" dann 'Adresse des Links ändern. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Ändern Sie bei Bedarf den Anzeigetext der Links. doc.Hyperlinks(i).TextToDisplay = "http://www.google.co.uk" End If Next Application.Run macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox " Vorgangsende, bitte ansehen", vbInformation End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das hat perfekt funktioniert und mir so viel Zeit gespart. Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, das funktionierte hervorragend für das Wort im Hauptteil des Dokuments, ersetzte jedoch nicht dasselbe Wort in der Kopfzeile. Irgendwelche Ideen. Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich möchte das Format des Ersetzungstextes ändern. dh "Pizza" muss ersetzt werden durch "Hamburger". Wie kann es erreicht werden?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Big THX 4 der Code ... aber auch das prblm mit den Headern ... keine Änderung Danke im Voraus
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke, dass du das gepostet hast! Ich habe ein paar Tests durchgeführt und es für mich zum Laufen gebracht; Es funktioniert jedoch aus irgendeinem Grund nicht mit Text in Kopf- und Fußzeilen. Gibt es dafür eine Lösung?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es tut mir leid, aber ich habe keine Ahnung von den Headern oder dem Format. Es war nicht etwas, das ich in meinen Code aufnehmen musste. Ich hatte dies noch nie zuvor selbst verwendet und der Code, den ich gepostet habe, wurde aus dem ursprünglichen Code oben entnommen und dann mit Code, der in anderen Suchen gefunden wurde, optimiert, bis es funktionierte. Es tut mir leid, dass ich nicht mehr helfen kann.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe es in den letzten Minuten getestet und es ist wirklich ein Wunder, danke! Ich muss mehrere „Suchen und Ersetzen“-Routinen für mehrere Dateien durchführen. Dutzende von Routinen für Dutzende von Dateien. Gibt es eine Möglichkeit, das Modul zu „speichern“, damit ich es nicht jedes Mal erneut auf dem VBA-Bildschirm einfügen muss, wenn ich eine neue Routine ausführen muss?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ist es möglich, dieses Makro zu optimieren, um mehrere „Suchen und Ersetzen“-Haltungen gleichzeitig auszuführen? Es gibt mehrere Wörter und Phrasen, die ich ersetzen muss, und ab sofort muss ich den VBA-Code für jede Instanz neu einfügen. Ich bin ein Noob was die Dinger angeht
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dieser Code hat mir so viel Zeit gespart ... also, danke! Eine Sache jedoch - gibt es eine Möglichkeit, die Anzahl der Wörter zu erhöhen, die das Makro findet/ersetzt? Ich muss mehrere Absätze gleichzeitig suchen/ersetzen und das Makro scheint eine Begrenzung von ungefähr 200 Zeichen zu haben.
Es sind noch keine Kommentare vorhanden
Mehr laden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte