Preskoči na glavno vsebino

Kako najti in zamenjati besedilo v Wordovem dokumentu iz Excela?

V Wordovem dokumentu lahko uporabimo funkcijo Najdi in zamenjaj za hitro iskanje in zamenjavo enega besedila. Če pa je treba poiskati in zamenjati več besedil, bo vnos besedila enega za drugim v funkcijo Najdi in zamenjaj zamuden. V tem primeru lahko besedila za iskanje in zamenjavo vnesete v seznam celic in s pomočjo kode VBA v Excelu to opravilo enostavno opravite. V tem članku bom predstavil tudi uporabno funkcijo za skupinsko iskanje in zamenjavo besedil v več Wordovih dokumentih.

Poiščite in zamenjajte več besedil v enem Wordovem dokumentu iz Excela s kodo VBA

Poiščite in zamenjajte več besedil v več Wordovih dokumentih iz Excela s kodo VBA

Poiščite in zamenjajte več besedil v več Wordovih dokumentih z zmogljivo funkcijo


Poiščite in zamenjajte več besedil v enem Wordovem dokumentu iz Excela s kodo VBA

Če želite najti in zamenjati nekatera besedila v samo eni Wordovi datoteki, vam lahko naslednja koda VBA naredi uslugo.

1. V Excelovem delovnem listu ustvarite stolpec z besedili, ki jih želite poiskati in zamenjati, in drug stolpec z besedili, ki jih želite zamenjati, kot je prikazano na spodnjem posnetku zaslona. In nato pritisnite Alt + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. Nato kliknite Vstavi > Moduli, kopirajte in prilepite spodnjo kodo VBA v okno.

Koda VBA: Poiščite in zamenjajte več besedil v eni datoteki Word

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. Ko prilepite kodo, še vedno v Microsoft Visual Basic za aplikacije okno, kliknite Orodja > Reference, glej posnetek zaslona:

4. V izpuščenem Reference - VBAProject v pogovornem oknu izberite Knjižnica predmetov Microsoft Word 16.0 iz polja s seznamom si oglejte posnetek zaslona:

5. Kliknite OK gumb, da zaprete pogovorno okno, in zdaj pritisnite F5 za zagon te kode, v pojavnem oknu za brskanje izberite Wordovo datoteko, s katero želite zamenjati besedila, glejte posnetek zaslona:

6. Nato kliknite OK, v naslednjem pogovornem oknu pritisnite Ctrl tipko za ločeno izbiro izvirnega besedila in novih besedilnih celic, ki jih želite uporabiti, glejte sliko zaslona:

7. In nato kliknite OK zdaj so besedila najdena in nadomeščena z novimi besedili v vašem določenem dokumentu, datoteka pa se prav tako odpira, shranite jo, da ohranite spremembe.


Poiščite in zamenjajte več besedil v več Wordovih dokumentih iz Excela s kodo VBA

Tukaj ustvarim tudi kodo VBA za iskanje in zamenjavo več besedil v več Wordovih dokumentih, naredite takole:

1. Odprite Excelovo datoteko, ki vsebuje dva stolpca vrednosti, ki jih želite zamenjati, in zamenjajte z njimi, kot je prikazano na spodnjem posnetku zaslona, ​​in nato pritisnite Alt + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. Nato kliknite Vstavi > Moduli, kopirajte in prilepite spodnjo kodo VBA v okno.

Koda VBA: Poiščite in zamenjajte več besedil v več Wordovih datotekah

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. Še vedno v Microsoft Visual Basic za aplikacije okno, kliknite Orodja > ReferenceV Reference - VBAProject v pogovornem oknu izberite Knjižnica predmetov Microsoft Word 16.0 in Izvajanje Microsoftovih skriptov možnosti iz polja s seznamom, glejte posnetek zaslona:

4. Ko preverite dve možnosti, kliknite OK da zaprete pogovorno okno, nato pa še naprej pritiskajte F5 ključ za izvedbo te kode v odprtju Brskanje izberite mapo, ki vsebuje Wordove dokumente, za katere želite izvesti iskanje in zamenjavo, glejte posnetek zaslona:

5. Kliknite OK gumb, v pogovornem oknu, ki se odpre, pritisnite Ctrl tipko za ločeno izbiro izvirnega besedila in novih besedilnih stolpcev, ki jih želite uporabiti, glejte posnetek zaslona:

6. Nazadnje kliknite OK, in izvirna besedila se zamenjajo z novimi v datotekah tez, po zaključku se bo pojavilo pogovorno okno, kot je prikazano na spodnjem posnetku zaslona:

7. Kliknite OK da zaprete pogovorno okno. In lahko greste do datotek, da preverite pretvorjene rezultate.


Poiščite in zamenjajte več besedil v več Wordovih dokumentih z zmogljivo funkcijo

V tem razdelku bom govoril o tem, kako paketno najti in zamenjati besedila v več Wordovih dokumentih iz Worda namesto Excela. Z močnim orodjem -Kutools za Word, lahko hitro poiščete in zamenjate določena besedila ter jih nadomestite z novimi besedili v glavni datoteki, glavi, nogi, komentarjih itd. in označite rezultate, kot jih potrebujete.

1. Odprite eno Wordovo datoteko in kliknite Kutools Plus > Serijsko iskanje in zamenjava, glej posnetek zaslona:

2. V odprti Serijsko iskanje in zamenjava pogovorno okno, naredite naslednje:

  • klik Dodaj gumb za dodajanje Wordovih datotek, kjer želite poiskati in zamenjati besedila;
  • V levem podoknu kliknite Dodaj vrstico z zgornjega traku;
  • V vstavljeno polje vnesite izvirno besedilo in novo besedilo v Najdi in Zamenjaj stolpce, ki jih želite poiskati in zamenjati. Prav tako lahko določite barvo za označevanje zamenjanih besedil, kot želite.

3. Ko ustvarite iskalne kriterije, kliknite Zamenjaj , da odprete Rezultat predogleda za ogled rezultatov iskanja in zamenjave. Oglejte si posnetek zaslona:

4. Nato kliknite Zapri in prikaže se okno s pozivom, ki vas opomni, če želite shraniti ta scenarij, kliknite Da da ga shranite in kliknite Ne če ga želite prezreti, si oglejte posnetek zaslona:

nasveti: Ta funkcija lahko pomaga tudi pri doseganju naslednjih operacij:
  • Poiščite in zamenjajte posebne znake v več Wordovih dokumentih;
  • Poiščite in zamenjajte več nizov z določenim oblikovanjem v več Wordovih dokumentih;
  • Poiščite in zamenjajte več nizov v več datotekah txt/htm/html.

Kliknite za podrobnejše informacije o tej funkciji ...

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
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