Jak najít a nahradit text v dokumentu Word z Excelu?
V dokumentu aplikace Word můžeme použít funkci Najít a nahradit, abychom rychle našli a nahradili jeden text. Pokud je však potřeba najít a nahradit více textů, zadávat text jeden po druhém do funkce Najít a nahradit bude časově náročné. V tomto případě můžete zadat vyhledání a nahrazení textů do seznamu buněk a pomocí kódu VBA v Excelu tuto práci snadno provést. V tomto článku také představím užitečnou funkci pro hromadné vyhledávání a nahrazování textů ve více dokumentech aplikace Word.
Najděte a nahraďte více textů v jednom dokumentu aplikace Word z Excelu kódem VBA
Najděte a nahraďte více textů ve více dokumentech aplikace Word z Excelu kódem VBA
Najděte a nahraďte více textů ve více dokumentech aplikace Word pomocí výkonné funkce
Najděte a nahraďte více textů v jednom dokumentu aplikace Word z Excelu kódem VBA
Pokud chcete najít a nahradit některé texty pouze v jednom souboru aplikace Word, může vám pomoci následující kód VBA.
1. V listu aplikace Excel vytvořte sloupec obsahující texty, které chcete najít a nahradit, a další sloupec s texty, které chcete nahradit, jak je znázorněno na obrázku níže. A pak stiskněte Alt + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.
2. Potom klepněte na tlačítko Vložit > Modul, zkopírujte a vložte níže uvedený kód VBA do okna.
Kód VBA: Najděte a nahraďte více textů v jednom souboru aplikace 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. Po vložení kódu stále v Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Tools > Reference, viz screenshot:
4. Ve vyskakovacím okně Reference - VBAProject dialogové okno vyberte Knihovna objektů Microsoft Word 16.0 ze seznamu, viz snímek obrazovky:
5, klikněte OK zavřete dialogové okno a nyní stiskněte F5 klíč ke spuštění tohoto kódu, ve vyskakovacím okně Procházet vyberte soubor Word, ve kterém chcete nahradit texty, viz snímek obrazovky:
6. Potom klepněte na tlačítko OK, v následujícím dialogovém okně stiskněte Ctrl tlačítko pro výběr původního textu a nových textových buněk samostatně, které chcete použít, viz snímek obrazovky:
7. A pak klikněte OK Nyní jsou texty nalezeny a nahrazeny novými texty ve vašem zadaném dokumentu a soubor se také otevírá, měli byste jej uložit, abyste zachovali změny.
Najděte a nahraďte více textů ve více dokumentech aplikace Word z Excelu kódem VBA
Zde také vytvořím kód VBA pro vyhledání a nahrazení více textů ve více dokumentech aplikace Word, postupujte takto:
1. Otevřete soubor Excel, který obsahuje dva sloupce hodnot, které chcete nahradit a nahradit, jak je znázorněno na níže uvedeném snímku obrazovky, a stiskněte Alt + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.
2. Potom klepněte na tlačítko Vložit > Modul, zkopírujte a vložte níže uvedený kód VBA do okna.
Kód VBA: Najděte a nahraďte více textů ve více souborech aplikace 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. Stále v Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Tools > Reference, V roce Reference - VBAProject dialogové okno vyberte Knihovna objektů Microsoft Word 16.0 a Microsoft Scripting Runtime možnosti ze seznamu, viz snímek obrazovky:
4. Po zaškrtnutí dvou možností klikněte na OK zavřete dialogové okno a poté pokračujte stisknutím tlačítka F5 klíč k provedení tohoto kódu v otevření Procházet vyberte složku obsahující dokumenty aplikace Word, které chcete vyhledat a nahradit, viz snímek obrazovky:
5, klikněte OK ve vyskakovacím dialogovém okně stiskněte Ctrl klíč pro výběr původního textu a nových textových sloupců samostatně, které chcete použít, viz snímek obrazovky:
6. Nakonec klepněte na tlačítko OKa původní texty jsou v těchto souborech nahrazeny novými, po dokončení se objeví dialogové okno, jak je uvedeno na obrázku níže:
7, klikněte OK pro uzavření dialogu. A můžete přejít do souborů a zkontrolovat převedené výsledky.
Najděte a nahraďte více textů ve více dokumentech aplikace Word pomocí výkonné funkce
V této části budu hovořit o tom, jak dávkově vyhledat a nahradit texty ve více dokumentech aplikace Word z aplikace Word namísto aplikace Excel. S výkonným nástrojem -Kutools for Word, můžete rychle najít a nahradit konkrétní texty a nahradit je novými texty v hlavním souboru, záhlaví, zápatí, komentářích atd. a zvýraznit výsledky, jak potřebujete.
1. Otevřete jeden soubor aplikace Word a potom klepněte na tlačítko Kutools Plus > Dávkové hledání a nahrazení, viz screenshot:
2. V otevřeném Dávkové hledání a nahrazení V dialogovém okně proveďte následující operace:
- klikněte přidat tlačítko pro přidání souborů aplikace Word, kde chcete najít a nahradit texty;
- V levém podokně klikněte na Přidat řádek z horní stuhy;
- Do vloženého pole zadejte původní text a nový text do Najít a Nahradit sloupce samostatně, které chcete najít a nahradit. Můžete také určit barvu pro zvýraznění nahrazených textů, jak potřebujete.
3. Po vytvoření vyhledávacích kritérií klikněte Nahradit pro přechod na Výsledek náhledu zobrazíte výsledky hledání a nahrazení. Viz snímek obrazovky:
4. Potom klepněte na tlačítko zavřít a zobrazí se okno s výzvou, které vám připomene, zda chcete tento scénář uložit, klepněte na Ano uložte jej a klikněte na Ne ignorovat, viz screenshot:
- Najít a nahradit speciální znaky ve více dokumentech aplikace Word;
- Najít a nahradit více řetězců specifickým formátováním ve více dokumentech aplikace Word;
- Najděte a nahraďte více řetězců ve více souborech txt/htm/html.
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své excelentní dovednosti pomocí Kutools for Excela zažijte efektivitu jako nikdy předtím. Kutools for Excel Nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab Přináší rozhraní s kartami do Office a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!










