Salt la conținutul principal

Cum să găsiți și să înlocuiți text în documentul Word din Excel?

În documentul Word, putem aplica funcția Găsiți și înlocuiți pentru a găsi și înlocui rapid un text. Dar, dacă trebuie găsite și înlocuite mai multe texte, introduceți textul unul câte unul în funcția Găsiți și înlocuiți va consuma mult timp. În acest caz, puteți introduce textele de căutare și înlocuire în lista de celule și, cu ajutorul codului VBA din Excel, puteți realiza acest lucru cu ușurință. În acest articol, voi introduce, de asemenea, o funcție utilă pentru a găsi și înlocui textele în mai multe documente Word.

Găsiți și înlocuiți mai multe texte într-un singur document Word din Excel cu cod VBA

Găsiți și înlocuiți mai multe texte în mai multe documente Word din Excel cu cod VBA

Găsiți și înlocuiți mai multe texte în mai multe documente Word cu o funcție puternică


Găsiți și înlocuiți mai multe texte într-un singur document Word din Excel cu cod VBA

Dacă doriți să găsiți și să înlocuiți unele texte într-un singur fișier Word, următorul cod VBA vă poate face o favoare.

1. În foaia de lucru Excel, creați o coloană care să conțină textele pe care doriți să le găsiți și să le înlocuiți și o altă coloană cu texte de înlocuit, așa cum se arată mai jos. Și apoi apăsați Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Apoi apasa Insera > Module, copiați și inserați codul VBA de mai jos în fereastră.

Cod VBA: Găsiți și înlocuiți mai multe texte într-un singur fișier 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. După lipirea codului, încă în Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Instrumente > Referinte, vezi captura de ecran:

4. În pop-out Referințe - VBAProject caseta de dialog, selectați Biblioteca de obiecte Microsoft Word 16.0 din caseta cu listă, vezi captura de ecran:

5. Clic OK butonul pentru a închide caseta de dialog, iar acum, apăsați F5 tasta pentru a rula acest cod, în fereastra pop-up Răsfoire, selectați fișierul Word pe care doriți să înlocuiți textele, vedeți captura de ecran:

6. Apoi apasa OK, în următoarea casetă de dialog, apăsați Ctrl pentru a selecta separat textul original și noile celule de text pe care doriți să le utilizați, vedeți captura de ecran:

7. Apoi, faceți clic OK butonul, acum, textele sunt găsite și înlocuite cu textele noi din documentul specificat și fișierul se deschide, de asemenea, ar trebui să îl salvați pentru a păstra modificările.


Găsiți și înlocuiți mai multe texte în mai multe documente Word din Excel cu cod VBA

Aici, de asemenea, creez un cod VBA pentru găsirea și înlocuirea mai multor texte în mai multe documente Word, vă rugăm să procedați astfel:

1. Deschideți fișierul Excel care conține două coloane de valori pe care să le înlocuiți și să înlocuiți cu așa cum se arată în captura de ecran de mai jos, apoi apăsați Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Apoi apasa Insera > Module, copiați și inserați codul VBA de mai jos în fereastră.

Cod VBA: Găsiți și înlocuiți mai multe texte în mai multe fișiere Word

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. Încă în Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Instrumente > Referinte, În Referințe - VBAProject caseta de dialog, selectați Biblioteca de obiecte Microsoft Word 16.0 și Runtime Microsoft Scripting opțiuni din caseta de listă, vezi captura de ecran:

4. După ce ați verificat cele două opțiuni, și faceți clic OK pentru a închide caseta de dialog și apoi apăsați în continuare F5 tasta pentru a executa acest cod, în deschidere Naviga fereastră, alegeți un folder care conține documentele Word pe care doriți să le căutați și să le înlocuiți, vedeți captura de ecran:

5. Clic OK butonul, în caseta de dialog pop-out, apăsați Ctrl pentru a selecta separat textul original și coloanele de text noi pe care doriți să le utilizați, vedeți captura de ecran:

6. În cele din urmă, faceți clic pe OK, iar textele originale sunt înlocuite cu cele noi în aceste fișiere, după finalizare, va apărea o casetă de dialog după cum se arată mai jos:

7. Clic OK pentru a închide dialogul. Și puteți merge la fișiere pentru a verifica rezultatele convertite.


Găsiți și înlocuiți mai multe texte în mai multe documente Word cu o funcție puternică

În această secțiune, voi vorbi despre cum să găsiți și să înlocuiți texte în mai multe documente Word din Word în loc de Excel. Cu un instrument puternic -Kutools pentru Cuvânt, puteți găsi și înlocui rapid textele specifice și le puteți înlocui cu texte noi în fișierul principal, antet, subsol, comentarii etc. și evidențiați rezultatele după cum aveți nevoie.

1. Deschideți un fișier Word, apoi faceți clic Kutools Plus > Găsiți și înlocuiți în lot, vezi captura de ecran:

2. În deschise Găsiți și înlocuiți în lot caseta de dialog, vă rugăm să efectuați următoarele operații:

  • Clic Adăuga butonul pentru a adăuga fișierele Word unde doriți să găsiți și să înlocuiți texte;
  • În panoul din stânga, faceți clic pe Adăugați un rând din panglica de sus;
  • În câmpul inserat, introduceți textul original și textul nou în Găsi și Înlocui coloane separat pe care doriți să le găsiți și să le înlocuiți. De asemenea, puteți specifica o culoare pentru evidențierea textelor înlocuite după cum aveți nevoie.

3. După crearea criteriilor de căutare, faceți clic Înlocui buton pentru a merge la Previzualizați rezultatul pentru a vedea rezultatele de căutare și înlocuire. Vedeți captura de ecran:

4. Apoi apasa Închide butonul și apare o casetă promptă pentru a vă reaminti dacă doriți să salvați acest scenariu, faceți clic Da pentru a-l salva și faceți clic pe Nu pentru a o ignora, vezi captura de ecran:

sfaturi: Această caracteristică poate ajuta și la realizarea următoarelor operațiuni:
  • Găsiți și înlocuiți caractere speciale în mai multe documente Word;
  • Găsiți și înlocuiți mai multe șiruri de caractere cu formatare specifică în mai multe documente Word;
  • Găsiți și înlocuiți mai multe șiruri în mai multe fișiere txt/htm/html.

Faceți clic pentru a afla informații mai detaliate despre această caracteristică...

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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