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:
- 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
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...
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!