Jak znaleźć i zamienić tekst w dokumencie programu Word z programu Excel?
W dokumencie Word możemy zastosować funkcję Znajdź i zamień, aby szybko znaleźć i zamienić jeden tekst. Jeśli jednak trzeba znaleźć i zastąpić wiele tekstów, wprowadzanie tekstu jeden po drugim do funkcji Znajdź i zamień będzie czasochłonne. W takim przypadku możesz wprowadzić wyszukiwane i zastępowane teksty na liście komórek i za pomocą kodu VBA w programie Excel, aby z łatwością wykonać tę pracę. W tym artykule przedstawię również przydatną funkcję do grupowego wyszukiwania i zastępowania tekstów w wielu dokumentach programu Word.
Znajdź i zamień wiele tekstów w jednym dokumencie programu Word z programu Excel na kod VBA
Znajdź i zamień wiele tekstów w wielu dokumentach Word z Excela kodem VBA
Znajdź i zamień wiele tekstów w wielu dokumentach Word za pomocą potężnej funkcji
Znajdź i zamień wiele tekstów w jednym dokumencie programu Word z programu Excel na kod VBA
Jeśli chcesz znaleźć i zamienić niektóre teksty tylko w jednym pliku Word, poniższy kod VBA może ci wyświadczyć przysługę.
1. W arkuszu programu Excel utwórz kolumnę zawierającą teksty, które chcesz znaleźć i zamienić, oraz kolejną kolumnę z tekstami do zastąpienia, jak pokazano na zrzucie ekranu. A następnie naciśnij Alt + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Następnie kliknij wstawka > Moduł, skopiuj i wklej poniższy kod VBA do okna.
Kod VBA: znajdź i zamień wiele tekstów w jednym pliku 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 wklejeniu kodu nadal w Microsoft Visual Basic for Applications okno, kliknij Tools > Referencjezobacz zrzut ekranu:
4. W wyskoczył Referencje - VBAProject w oknie dialogowym wybierz opcję Biblioteka obiektów programu Microsoft Word 16.0 z pola listy, zobacz zrzut ekranu:
5. Kliknij OK przycisk, aby zamknąć okno dialogowe, a teraz naciśnij F5 klucz, aby uruchomić ten kod, w wyskakującym oknie Przeglądaj wybierz plik Word, który chcesz zastąpić teksty, zobacz zrzut ekranu:
6. Następnie kliknij OK, w następującym oknie dialogowym naciśnij Ctrl klawisz, aby wybrać oryginalny tekst i nowe komórki tekstowe osobno, których chcesz użyć, zobacz zrzut ekranu:
7. A następnie kliknij OK przycisk, teraz teksty zostaną znalezione i zastąpione nowymi tekstami w określonym dokumencie, a plik również się otwiera, należy go zapisać, aby zachować zmiany.
Znajdź i zamień wiele tekstów w wielu dokumentach Word z Excela kodem VBA
Tutaj również tworzę kod VBA do wyszukiwania i zastępowania wielu tekstów w wielu dokumentach Word, wykonaj następujące czynności:
1. Otwórz plik Excel, który zawiera dwie kolumny wartości do zastąpienia i zastąpienia, jak pokazano na poniższym zrzucie ekranu, a następnie naciśnij Alt + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Następnie kliknij wstawka > Moduł, skopiuj i wklej poniższy kod VBA do okna.
Kod VBA: znajdź i zamień wiele tekstów w wielu plikach 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. Wciąż w Microsoft Visual Basic for Applications okno, kliknij Tools > Referencje, W Referencje - VBAProject w oknie dialogowym wybierz opcję Biblioteka obiektów programu Microsoft Word 16.0 i Środowisko wykonawcze skryptów firmy Microsoft Microsoft opcje z pola listy, zobacz zrzut ekranu:
4. Po sprawdzeniu dwóch opcji i kliknięciu OK aby zamknąć okno dialogowe, a następnie naciśnij przycisk F5 klawisz do wykonania tego kodu, w otworze Przeglądaj w oknie wybierz folder zawierający dokumenty Word, które chcesz znaleźć i zamienić, zobacz zrzut ekranu:
5. Kliknij OK , w wyskakującym oknie dialogowym naciśnij Ctrl klawisz, aby wybrać oryginalny tekst i nowe kolumny tekstowe osobno, których chcesz użyć, zobacz zrzut ekranu:
6. Na koniec kliknij OK, a oryginalne teksty są zastępowane nowymi w tych plikach, po zakończeniu pojawi się okno dialogowe, jak pokazano na poniższym zrzucie ekranu:
7. Kliknij OK aby zamknąć okno dialogowe. I możesz przejść do plików, aby sprawdzić przekonwertowane wyniki.
Znajdź i zamień wiele tekstów w wielu dokumentach Word za pomocą potężnej funkcji
W tej sekcji omówię, jak wsadowo znajdować i zastępować teksty w wielu dokumentach programu Word z programu Word zamiast programu Excel. Z potężnym narzędziem-Kutools dla Worda, możesz szybko znaleźć i zastąpić określone teksty i zastąpić je nowymi tekstami w pliku głównym, nagłówku, stopce, komentarzach itp. oraz podświetlić wyniki według potrzeb.
1. Otwórz jeden plik Word, a następnie kliknij Kutools Plus > Znajdź i zamień partiizobacz zrzut ekranu:
2. W otwartym Znajdź i zamień partii w oknie dialogowym, wykonaj następujące operacje:
- Kliknij Dodaj przycisk, aby dodać pliki Word, w których chcesz znaleźć i zamienić teksty;
- W lewym okienku kliknij Dodaj wiersz od górnej wstążki;
- We wstawionym polu wprowadź oryginalny tekst i nowy tekst do Znajdź i zastąpić kolumny osobno, które chcesz znaleźć i zamienić. Możesz także określić kolor podświetlenia zastępowanych tekstów według potrzeb.
3. Po utworzeniu kryteriów wyszukiwania kliknij zastąpić przycisk, aby przejść do Wynik podglądu , aby wyświetlić wyniki wyszukiwania i zamiany. Zobacz zrzut ekranu:
4. Następnie kliknij Zamknij i pojawi się okienko z przypomnieniem, czy chcesz zapisać ten scenariusz, kliknij Tak aby go zapisać i kliknij Nie aby to zignorować, zobacz zrzut ekranu:
- Znajdź i zamień znaki specjalne w wielu dokumentach programu Word;
- Znajdź i zamień wiele ciągów z określonym formatowaniem w wielu dokumentach programu Word;
- Znajdź i zamień wiele ciągów w wielu plikach txt/htm/html.
Kliknij, aby dowiedzieć się więcej szczegółowych informacji o tej funkcji…
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!