Note: The other languages of the website are Google-translated. Back to English

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 Narzędzia > 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 Narzędzia > 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 Blisko 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:

Wskazówki: Ta funkcja może również pomóc w realizacji następujących operacji:
  • 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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (4)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Pozdrowienia i Zwroty okolicznościowe
pierwszy kod:
Kod VBA: znajdź i zamień wiele tekstów w jednym pliku Word

thows error: błąd kompilacji typ zdefiniowany przez użytkownika nie został zdefiniowany
https://i.imgur.com/FZPBy4I.png
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, Eriku
Kod działa dobrze.
Być może, nie sprawdziłeś Biblioteka obiektów programu Microsoft Word 16.0 z Referencje - VBAProject Okno dialogowe.
Oznacza to, że możesz pominąć krok 3 i krok 4 tego artykułu.
Spróbuj ponownie, jeśli nadal masz inny problem, skomentuj tutaj.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Ten komentarz został zminimalizowany przez moderatora na stronie
To nie działa

Błąd kompilacji: niezdefiniowany typ zdefiniowany przez użytkownika
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Param
Kod działa dobrze.
Być może, nie sprawdziłeś Biblioteka obiektów programu Microsoft Word 16.0 z Referencje - VBAProject Okno dialogowe.
Oznacza to, że możesz pominąć krok 3 i krok 4 tego artykułu.
Spróbuj ponownie, jeśli nadal masz inny problem, skomentuj tutaj.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL