Hoppa till huvudinnehåll

Hur söker jag och ersätter flera filer i Word?

Om du har flera dussin ordfiler som innehåller samma innehåll (som sidhuvud, sidfot, några specialord eller nummer) och du måste ersätta samma innehåll över dessa dokument i Word. Hur skulle det vara lättare för dig att få det gjort snabbt? Visst kan du öppna dessa filer en efter en för att ersätta samma innehåll, men det kommer att vara tidskrävande och besvärande. Denna handledning visar dig ett knepigt sätt att ersätta samma innehåll i flera dokument i Word samtidigt.

Hitta och ersätt texter över flera orddokument samtidigt med VBA-kod
Hitta och ersätt enkelt olika texter i flera dokument samtidigt med Kutools for Word


Hitta och ersätt texter över flera orddokument samtidigt med VBA-kod

1. Tryck andra + F11 att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar InsertModulernaoch kopiera sedan följande VBA-kod till modulfönstret.

VBA-kod: Söka och ersätta samma innehåll i flera dokument samtidigt

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. tryck på F5 för att köra koden.

4. I öppningen Bläddra fönstret, välj och välj de dokument du hittar och ersätt texten inuti och klicka sedan på OK knapp. Se skärmdump:

5. I den första Kutools för Word dialogrutan, ange texten som du hittar över dokument i Hitta det och klicka sedan på OK knapp.

6. På sekunden Kutools för Word dialogrutan, ange texten du ska ersätta med och klicka på OK knapp.

8. Klicka på OK knappen i nästa Microsoft Word dialogrutan för att avsluta sökningen och ersätt.

I det här fallet ersätts alla ord "Word" i valda dokument samtidigt med "Excel".


Hitta och ersätt enkelt olika texter i flera dokument samtidigt med Kutools for Word

Här rekommenderar starkt Batch Hitta och ersätt egenskap av Kutools för Word. Med den här funktionen kan du enkelt hitta och ersätta olika texter över flera Word-dokument samtidigt. Låt oss se hur du använder den här funktionen för att hitta och ersätta texter över dokument.

Kutools för Word : med mer än 100 praktiska Word-tillägg, gratis att prova utan begränsningar 60 dagar.

1. Klicka på Kutools Plus > Batch Hitta och ersätt för att aktivera funktionen.

2. I Batch Hitta och ersätt dialogrutan, konfigurera så här.

  • 2.1) Klicka på Lägg till rad knapp under Sök och ersätt flik;
  • 2.2) I de skapade radfälten:
A. Ange texten som du hittar i textrutan i hitta kolumn
B. Ange texten du ska ersätta med i textrutan i ersätta kolumn;
C. Ange en söktyp, var du hittar texten och en färg för att markera texten efter behov. I det här fallet väljer jag Fullständig ordmatchning, Huvuddokument och en viss färg från Söktyp, Hitta i och Markera kolumner;
  • 2.3) Upprepa steg 2.1 och 2.2 för att lägga till fler texter du hittar och ersätter;
  • 2.4) Klicka på  knapp i Filtyp avsnitt för att lägga till Word-dokument där du hittar och ersätter texter;
  • 2.5) Klicka på ersätta or hitta knapp. Se skärmdump:

Anmärkningar:
1. Om du klickar på hitta -knappen visas alla sökresultat under Förhandsgranska resultat flik. När du har förhandsgranskat resultaten, om du vill ersätta alla texter, klicka på Sök och ersätt flik. Annars stänger du dialogrutan.

2. Om du klickar på ersätta knappen kommer alla angivna texter att ersättas med nya omedelbart och resultaten kommer också att visas under Förhandsgranska resultat fliken.

3. Om du anger markeringsfärger i steg 2 markeras alla ersatta texter med angivna färger och du kan enkelt hitta dem med en överblick i dokument.

3. Stäng Batch Hitta och ersätt dialogrutan

För mer information om den här funktionen, vänligen Klicka här....

Om du vill ha en gratis testversion av det här verktyget, gå till ladda ner programvaran gratis först och sedan tillämpa operationen enligt ovanstående steg.

Bästa kontorsproduktivitetsverktyg

Kutools för Word - Höj din ordupplevelse med Over 100 Anmärkningsvärda funktioner!

Dyk in i de markerade funktionerna nedan eller klicka här för att utforska den fulla kraften i Kutools för Word.

📘 Dokumentbehärskning: Dela sidor  /  Sammanfoga dokument  /  Exportera urval i olika format (PDF/TXT/DOC/XLSX)  /  Batchkonvertera till PDF  /  Exportera sidor som bilder  /  Skriv ut flera filer samtidigt ...

Innehållsredigering: Batch Hitta och ersätt över flera filer   /  Ändra storlek på alla bilder   /  Transponera tabellrader och kolumner  /  Konvertera tabell till text ...

🧹 Enkel rengöringSvep bort Extra utrymmen  /  Avsnitt bryter  /   Alla rubriker  /  Textrutor  /  Hyperlänkar  /  För fler borttagningsverktyg, gå till vår Remove Group

Kreativa inlägg: Insert Tusen avskiljare  /  Kryssrutor  /  radio Knappar  /  QR-kod  /  Streckkod  /  Diagonal linjebord  /  Bildtext för ekvation  /  Bild Bildtext  /  Tabelltextning  /  Flera bilder  /  Upptäck mer i vår Insert Group

🔍 Precisionsval: Hitta specifika sidor  /  Tabellerna  /  former  /  rubrikerna  /  Navigera med lätthet med hjälp av vår Select Group

Stjärnförbättringar: Navigera snabbt till vilken plats som helst  /  infoga repetitiv text automatiskt  /  växla sömlöst mellan dokumentfönster  /  11 Konverteringsverktyg ...

Förvandla dina Word-uppgifter med Kutools. 👉 Ladda ner med 30-dagars provversion nu 🚀.

Läs mer       Gratis nedladdning      Inköp
 
Comments (70)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
thanks for -How To Search And Replace Across Multiple Files In Word?

what about from out side (by folder) ?

thanks gain
This comment was minimized by the moderator on the site
This is a great explanation.  Is there a way to change settings, e.g. page size, simultaneously? 
This comment was minimized by the moderator on the site
After pressing F5, I get the following error" "Compile error: User-defined type not defined." Can someone help?
This comment was minimized by the moderator on the site
Hi Monique,Please check if the Microsoft Office Object Library is enabled as shown in the screenshot below.
This comment was minimized by the moderator on the site
This is SUCH a time saving solution. THANK YOU!
One thing that may make it even better, is adding support for subdirectories. (That is: Files in multiple subdirectories)
I am an absolute newbie in this, and don't know the syntax, the parameter, or where to add that.

Could somebody help?
This comment was minimized by the moderator on the site
I need to replace text in multiple Word files and have the replaced text highlighted. Is there a way to do this?
This comment was minimized by the moderator on the site
Hi Daphne,
Why not try the Batch Find and Replace feature of Kutools for Word? It can solve this issue with ease.
This comment was minimized by the moderator on the site
this was a lifesaver thank you so much
This comment was minimized by the moderator on the site
Is it possible to replace in the headers of the word doc?
This comment was minimized by the moderator on the site
Hi Tiago,
Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

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"
If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
End If
ActiveDocument.Save
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub
This comment was minimized by the moderator on the site
Is that possible to replace in the header of the word doc?
This comment was minimized by the moderator on the site
Thanks for sharing this information with us.
Word search and replace tool
This comment was minimized by the moderator on the site
Works perfectly but is there a similar macro to change text in the header! because this does not work with this version!
thanks
This comment was minimized by the moderator on the site
Hi,
Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

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"
If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
End If
ActiveDocument.Save
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub
This comment was minimized by the moderator on the site
Oh yeah! Thank you sooooo much! This is a life-saver!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations