Ugrás a tartalomra

Hogyan lehet szöveget keresni és cserélni a Word dokumentumban az Excelből?

A Word dokumentumban a Keresés és csere funkciót alkalmazhatjuk egy szöveg gyors megtalálásához és cseréjéhez. Ha azonban több szöveget kell megkeresni és kicserélni, akkor egyenként írja be a szöveget a Keresés és csere funkcióba, ami időigényes lesz. Ebben az esetben a keresési és csereszövegeket beírhatja a cellák listájába, és az Excelben található VBA kód segítségével könnyedén elvégezheti ezt a munkát. Ebben a cikkben bemutatok egy hasznos funkciót is, amellyel több Word-dokumentumban található szövegek kötegelt kereshetők és cserélhetők.

Több szöveg keresése és cseréje egy Word-dokumentumban az Excelből VBA-kóddal

Több szöveg keresése és cseréje több Word-dokumentumban az Excelből VBA-kóddal

Több szöveg keresése és cseréje több Word-dokumentumban egy hatékony funkcióval


Több szöveg keresése és cseréje egy Word-dokumentumban az Excelből VBA-kóddal

Ha csak egy Word-fájlban szeretne néhány szöveget megkeresni és lecserélni, a következő VBA-kód jót tehet.

1. Az Excel munkalapon hozzon létre egy oszlopot, amely tartalmazza a megkeresni és lecserélni kívánt szövegeket, és egy másik oszlopot a helyettesítendő szövegekkel, ahogy az alábbi képernyőképen látható. És akkor nyomja meg Alt + F11 gombok egyszerre a Microsoft Visual Basic for Applications ablak.

2. Ezután kattints a gombra betétlap > Modulok, másolja ki és illessze be az alábbi VBA-kódot az ablakba.

VBA-kód: Több szöveg keresése és cseréje egy Word-fájlban

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. A kód beillesztése után továbbra is a Microsoft Visual Basic for Applications ablakban kattintson Eszközök > Referenciák, lásd a képernyőképet:

4. A kiugrottban Referenciák - VBAProject párbeszédpanelen válassza a ikont Microsoft Word 16.0 objektumtár a listamezőből lásd a képernyőképet:

5. Kattints OK gombot a párbeszédpanel bezárásához, és most nyomja meg F5 A kód futtatásához nyomja meg a gombot, a felugró Tallózás ablakban válassza ki azt a Word fájlt, amellyel le szeretné cserélni a szövegeket, lásd a képernyőképet:

6. Ezután kattints a gombra OK, a következő párbeszédpanelen nyomja meg a gombot Ctrl gombot, hogy külön jelölje ki az eredeti szöveget és az új szövegcellákat, amelyeket használni szeretne, lásd a képernyőképet:

7. Ezután kattintson OK gomb megnyomásával a rendszer megtalálja a szövegeket és lecseréli az új szövegekre a megadott dokumentumban, és a fájl is megnyílik, mentse el a változtatások megtartásához.


Több szöveg keresése és cseréje több Word-dokumentumban az Excelből VBA-kóddal

Itt létrehozok egy VBA-kódot is több szöveg megtalálásához és cseréjéhez több Word-dokumentumban, kérjük, tegye a következőket:

1. Nyissa meg azt az Excel-fájlt, amely két értékoszlopot tartalmaz, amelyeket le kell cserélni és lecserélni az alábbi képernyőképen látható módon, majd nyomja meg a gombot Alt + F11 gombok egyszerre a Microsoft Visual Basic for Applications ablak.

2. Ezután kattints a gombra betétlap > Modulok, másolja ki és illessze be az alábbi VBA-kódot az ablakba.

VBA-kód: Több szöveg keresése és cseréje több Word-fájlban

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Még mindig a Microsoft Visual Basic for Applications ablakban kattintson Eszközök > Referenciák, A Referenciák - VBAProject párbeszédpanelen válassza a ikont Microsoft Word 16.0 objektumtár és a Microsoft Scripting Runtime opciók a listából, lásd a képernyőképet:

4. A két lehetőség ellenőrzése után kattintson a gombra OK a párbeszédpanel bezárásához, majd nyomja meg a gombot F5 kulcs a kód végrehajtásához a nyílásban Tallózás ablakban válassza ki a keresni és cserélni kívánt Word dokumentumokat tartalmazó mappát, lásd a képernyőképet:

5. Kattints OK gombot, a felugró párbeszédpanelen nyomja meg Ctrl gombbal válassza ki külön az eredeti szöveget és az új szövegoszlopokat, amelyeket használni szeretne, lásd a képernyőképet:

6. Végül kattintson a gombra OK, és az eredeti szövegek az újakra cserélődnek a tézisfájlokban, a befejezést követően egy párbeszédpanel jelenik meg az alábbi képernyőkép szerint:

7. Kattints OK a párbeszédpanel bezárásához. A konvertált eredmények ellenőrzéséhez pedig a fájlokhoz léphet.


Több szöveg keresése és cseréje több Word-dokumentumban egy hatékony funkcióval

Ebben a részben arról fogok beszélni, hogyan kereshet meg és cserélhet ki több Word-dokumentum szövegét az Excel helyett a Wordből. Egy erős szerszámmal-Kutools for Word, gyorsan megtalálhatja és lecserélheti az adott szövegeket, és lecserélheti új szövegekre a főfájlban, fejlécben, láblécben, megjegyzésekben stb., és szükség szerint kiemelheti az eredményeket.

1. Nyisson meg egy Word-fájlt, majd kattintson a gombra Kutools Plus > Kötegelt keresés és csere, lásd a képernyőképet:

2. A nyitottban Kötegelt keresés és csere párbeszédpanelen tegye a következőket:

  • Kattints hozzáad gombbal adja hozzá azokat a Word-fájlokat, amelyekben szövegeket szeretne keresni és lecserélni;
  • Kattintson a bal oldali ablaktáblán Sor hozzáadása a felső szalagtól;
  • A beszúrt mezőbe írja be az eredeti szöveget és az új szöveget a Találjon és a Cserélje külön oszlopokat, amelyeket meg szeretne találni és lecserélni. Szükség szerint megadhat egy színt is a helyettesített szövegek kiemeléséhez.

3. A keresési feltételek létrehozása után kattintson a gombra Cserélje gomb megnyomásával Eredmény előnézete lapon a keresési és csereeredmények megtekintéséhez. Lásd a képernyőképet:

4. Ezután kattints a gombra közel gombra, és megjelenik egy prompt mező, amely emlékezteti Önt, ha el kívánja menteni ezt a forgatókönyvet, kattintson a gombra Igen gombra, és kattintson a gombra Nem figyelmen kívül hagyni, lásd a képernyőképet:

tippek: Ez a funkció a következő műveletek végrehajtásában is segíthet:
  • Különleges karakterek keresése és cseréje több Word dokumentumban;
  • Több karakterlánc keresése és cseréje meghatározott formázással több Word dokumentumban;
  • Több karakterlánc keresése és cseréje több txt/htm/html fájlban.

Kattintson a funkció további részleteiért…

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great, thank you! Is there a way to make the replacement text carry hyperlinks over? ie - if you have a hyperlinked replacement in the excel sheet, it is still hyperlinked in the Word doc?

Thanks!
This comment was minimized by the moderator on the site
Is there a way too modify this too find text and create hyperlink on the text from another column where i have the links already created? It worked correctly as a find and replace for me. Thanks
This comment was minimized by the moderator on the site
Hi,

I am wondering how this can be modified to also find and replace text in footnotes?

Thanks!
This comment was minimized by the moderator on the site
Hello, Nate,
If you want to find and replace the text in footnotes at the same time, maybe the Kutools for Word's Batch Find and Replace feature can help you.
You just need to check Main document and Footnotes from the Find in section, see below image:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word.png
This comment was minimized by the moderator on the site
It doesn't work.

Compile error: User-defined type not defined
This comment was minimized by the moderator on the site
Hello, Param
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
This comment was minimized by the moderator on the site
Sorry for the overdue reply. I have replied before, but my reply dissapeared somehow. You're right, the code does work well. But it replaced nothing when I tried it on a file with more than 80,000 lines.
This comment was minimized by the moderator on the site
Hello, Param
I have tested the code, it works well in my Word docuent which contains 140,000 lines.
Do you mind to upload your attachment here for testing?
Or you can apply our Kutools for Word's Batch Find and Replace feature, it can help you with ease.
Thank you!
This comment was minimized by the moderator on the site
Greetings,
the first code :
VBA code: Find and replace multiple texts in one Word file

thows error : compile error user defined type not defined
https://i.imgur.com/FZPBy4I.png
This comment was minimized by the moderator on the site
Hello, Erik
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations