Ga naar hoofdinhoud

Hoe vind en vervang ik tekst in Word-document vanuit Excel?

In Word-document kunnen we de functie Zoeken en vervangen toepassen om snel één tekst te vinden en te vervangen. Maar als er meerdere teksten moeten worden gevonden en vervangen, is het tijdrovend om de tekst één voor één in te voeren in de functie Zoeken en vervangen. In dit geval kunt u de zoek- en vervangteksten in de lijst met cellen invoeren en met behulp van VBA-code in Excel deze taak gemakkelijk uitvoeren. In dit artikel zal ik ook een handige functie introduceren om batchgewijs teksten in meerdere Word-documenten te vinden en te vervangen.

Zoek en vervang meerdere teksten in één Word-document vanuit Excel met VBA-code

Zoek en vervang meerdere teksten in meerdere Word-documenten vanuit Excel met VBA-code

Vind en vervang meerdere teksten in meerdere Word-documenten met een krachtige functie


Zoek en vervang meerdere teksten in één Word-document vanuit Excel met VBA-code

Als u sommige teksten in slechts één Word-bestand wilt vinden en vervangen, kan de volgende VBA-code u een plezier doen.

1. Maak in het Excel-werkblad een kolom met de teksten die u wilt zoeken en vervangen, en een andere kolom met teksten die u wilt vervangen, zoals hieronder afgebeeld. En druk dan op Alt + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. Dan klikken Invoegen > Module, kopieer en plak de onderstaande VBA-code in het venster.

VBA-code: zoek en vervang meerdere teksten in één Word-bestand

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. Na het plakken van de code, nog steeds in de Microsoft Visual Basic voor toepassingen venster klikt Tools > Referenties, zie screenshot:

4. In de pop-out Referenties - VBAProject dialoogvenster, selecteert u het Microsoft Word 16.0-objectbibliotheek uit de keuzelijst, zie screenshot:

5. Klikken OK om het dialoogvenster te sluiten en druk nu op F5 sleutel om deze code uit te voeren, selecteer in het pop-upvenster Bladeren het Word-bestand waarvan u de teksten wilt vervangen, zie screenshot:

6. Dan klikken OK, druk in het volgende dialoogvenster op Ctrl toets om de originele tekst en nieuwe tekstcellen afzonderlijk te selecteren die u wilt gebruiken, zie screenshot:

7. En klik dan OK knop, nu worden de teksten gevonden en vervangen door de nieuwe teksten in uw opgegeven document, en het bestand wordt ook geopend, u moet het opslaan om de wijzigingen te behouden.


Zoek en vervang meerdere teksten in meerdere Word-documenten vanuit Excel met VBA-code

Hier maak ik ook een VBA-code voor het vinden en vervangen van meerdere teksten in meerdere Word-documenten, doe dit als volgt:

1. Open het Excel-bestand dat twee kolommen met waarden bevat om te vervangen en te vervangen zoals hieronder afgebeeld, en druk vervolgens op Alt + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. Dan klikken Invoegen > Module, kopieer en plak de onderstaande VBA-code in het venster.

VBA-code: zoek en vervang meerdere teksten in meerdere Word-bestanden

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. Nog steeds in de Microsoft Visual Basic voor toepassingen venster klikt Tools > Referenties, in de Referenties - VBAProject dialoogvenster, selecteert u het Microsoft Word 16.0-objectbibliotheek en Microsoft Scripting-runtime opties uit de keuzelijst, zie screenshot:

4. Na het controleren van de twee opties, en klik op OK om het dialoogvenster te sluiten en druk vervolgens op de F5 toets om deze code uit te voeren, in de opening Blader venster, kies een map die de Word-documenten bevat die u wilt zoeken en vervangen, zie screenshot:

5. Klikken OK knop, druk in het uitgeklapte dialoogvenster op Ctrl toets om de originele tekst en nieuwe tekstkolommen afzonderlijk te selecteren die u wilt gebruiken, zie screenshot:

6. Klik ten slotte op OK, en de originele teksten worden vervangen door de nieuwe in deze bestanden, na voltooiing verschijnt er een dialoogvenster zoals hieronder afgebeeld:

7. Klikken OK om het dialoogvenster te sluiten. En u kunt naar de bestanden gaan om de geconverteerde resultaten te controleren.


Vind en vervang meerdere teksten in meerdere Word-documenten met een krachtige functie

In deze sectie zal ik het hebben over het batchgewijs zoeken en vervangen van teksten in meerdere Word-documenten vanuit Word in plaats van Excel. Met een krachtig hulpmiddelKutools for Word, kunt u snel de specifieke teksten vinden en vervangen en ze vervangen door nieuwe teksten in het hoofdbestand, de koptekst, de voettekst, opmerkingen, enz. en de resultaten naar behoefte markeren.

1. Open één Word-bestand en klik vervolgens op Koetools Plus > Batch zoeken en vervangen, zie screenshot:

2. In het geopende Batch zoeken en vervangen dialoogvenster, voer dan de volgende bewerkingen uit:

  • Klik Toevoegen knop om de Word-bestanden toe te voegen waar u teksten wilt zoeken en vervangen;
  • Klik in het linkerdeelvenster op Voeg een rij toe vanaf het bovenste lint;
  • Voer in het ingevoegde veld de originele tekst en de nieuwe tekst in de VIND DE PLEK DIE PERFECT VOOR JOU IS en vervangen kolommen afzonderlijk die u wilt zoeken en vervangen. U kunt ook een kleur opgeven voor het markeren van de vervangen teksten als u dat wilt.

3. Klik na het maken van de zoekcriteria op vervangen knop om naar de Voorbeeld van resultaat om de resultaten voor zoeken en vervangen te bekijken. Zie screenshot:

4. Dan klikken Sluiten en er verschijnt een promptvenster om u eraan te herinneren of u dit scenario wilt opslaan, klik op Ja om het op te slaan, en klik op Nee zie screenshot om het te negeren:

Tips: Deze functie kan ook helpen om de volgende bewerkingen uit te voeren:
  • Zoek en vervang speciale tekens in meerdere Word-documenten;
  • Zoek en vervang meerdere strings met specifieke opmaak in meerdere Word-documenten;
  • Zoek en vervang meerdere strings in meerdere txt/htm/html-bestanden.

Klik voor meer gedetailleerde informatie over deze functie...

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
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