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

Як знайти та замінити текст у документі Word із Excel?

У документі Word ми можемо застосувати функцію «Знайти та замінити», щоб швидко знайти та замінити один текст. Але, якщо потрібно знайти та замінити кілька текстів, введення тексту по одному у функцію «Знайти та замінити» займе багато часу. У цьому випадку ви можете ввести текст пошуку та заміни в список клітинок і за допомогою коду VBA в Excel легко виконати цю роботу. У цій статті я також розповім про корисну функцію пакетного пошуку та заміни текстів у кількох документах Word.

Знайдіть і замініть кілька текстів в одному документі Word із Excel кодом VBA

Знайдіть і замініть кілька текстів у кількох документах Word із Excel кодом VBA

Знайдіть і замініть кілька текстів у кількох документах Word за допомогою потужної функції


Знайдіть і замініть кілька текстів в одному документі Word із Excel кодом VBA

Якщо ви хочете знайти та замінити деякі тексти лише в одному файлі Word, наведений нижче код VBA може зробити вам послугу.

1. На робочому аркуші Excel створіть стовпець, що містить тексти, які потрібно знайти та замінити, а також інший стовпець із текстами, які потрібно замінити, як показано на знімку екрана нижче. А потім натисніть Alt + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Потім натисніть кнопку Insert > Модулі, скопіюйте та вставте наведений нижче код VBA у вікно.

Код VBA: знайдіть і замініть кілька текстів в одному файлі 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. Після вставки коду все ще в Microsoft Visual Basic для додатків вікна, натисніть інструменти > посилання, див. скріншот:

4. У вискочив Посилання - VBAProject діалоговому вікні, виберіть Бібліотека об’єктів Microsoft Word 16.0 зі списку, перегляньте знімок екрана:

5. Клацання OK щоб закрити діалогове вікно, а тепер натисніть F5 щоб запустити цей код, у спливаючому вікні «Огляд» виберіть файл Word, яким потрібно замінити тексти, перегляньте знімок екрана:

6. Потім натисніть кнопку OK, у наступному діалоговому вікні натисніть Ctrl клавіша для виділення оригінального тексту та нових текстових клітинок окремо, які ви бажаєте використовувати, див. знімок екрана:

7. А потім натисніть OK кнопку, тепер тексти знайдено та замінено новими текстами у вказаному вами документі, а також відкривається файл, вам слід зберегти його, щоб зберегти зміни.


Знайдіть і замініть кілька текстів у кількох документах Word із Excel кодом VBA

Тут я також створюю код VBA для пошуку та заміни кількох текстів у кількох документах Word, виконайте наступне:

1. Відкрийте файл Excel, який містить два стовпці значень, які потрібно замінити, і замініть, як показано на знімку екрана нижче, а потім натисніть Alt + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Потім натисніть кнопку Insert > Модулі, скопіюйте та вставте наведений нижче код VBA у вікно.

Код VBA: знайдіть і замініть кілька текстів у кількох файлах 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. Досі в Microsoft Visual Basic для додатків вікна, натисніть інструменти > посилання, В Посилання - VBAProject діалоговому вікні, виберіть Бібліотека об’єктів Microsoft Word 16.0 і Виконання сценаріїв Microsoft параметри зі списку, див. знімок екрана:

4. Після перевірки двох варіантів натисніть OK щоб закрити діалогове вікно, а потім продовжуйте натискати F5 ключ для виконання цього коду, у відкритті перегорнути виберіть папку, яка містить документи Word, які потрібно знайти та замінити, перегляньте знімок екрана:

5. Клацання OK кнопку, у спливаючому діалоговому вікні натисніть Ctrl клавіша для вибору оригінального тексту та нових текстових стовпців окремо, які ви бажаєте використовувати, див. знімок екрана:

6. Нарешті, клацніть OK, а вихідні тексти замінюються новими у файлах тез. Після завершення з’явиться діалогове вікно, як показано на знімку екрана нижче:

7. Клацання OK щоб закрити діалогове вікно. І ви можете перейти до файлів, щоб перевірити перетворені результати.


Знайдіть і замініть кілька текстів у кількох документах Word за допомогою потужної функції

У цьому розділі я розповім про те, як групово знаходити та замінювати тексти в кількох документах Word із Word замість Excel. З потужним інструментом -Kutools для Word, ви можете швидко знайти та замінити певні тексти та замінити їх новими текстами в основному файлі, верхньому та нижньому колонтитулах, коментарях тощо та виділити результати, як вам потрібно.

1. Відкрийте один файл Word і клацніть Kutools Plus > Пакетний пошук та заміна, див. скріншот:

2. У відкритому Пакетний пошук та заміна діалоговому вікні, виконайте такі дії:

  • Натисніть додавати кнопка для додавання файлів Word, де потрібно знайти та замінити тексти;
  • На лівій панелі натисніть Додати рядок з верхньої стрічки;
  • У вставлене поле введіть вихідний текст і новий текст у знайти і заміщати окремо стовпці, які потрібно знайти та замінити. Крім того, ви можете вказати колір для виділення замінених текстів, як вам потрібно.

3. Після створення критеріїв пошуку натисніть заміщати кнопка, щоб перейти до Результат попереднього перегляду для перегляду результатів пошуку та заміни. Перегляньте скріншот:

4. Потім натисніть кнопку близько кнопку, і з’явиться вікно підказки, щоб нагадати вам, якщо ви хочете зберегти цей сценарій, натисніть Так щоб зберегти його та натисніть Немає щоб проігнорувати це, див. скріншот:

чайові: ця функція також може допомогти виконати такі операції:
  • Знайти та замінити спеціальні символи в кількох документах Word;
  • Знайти та замінити кілька рядків певним форматуванням у кількох документах Word;
  • Знайдіть і замініть кілька рядків у кількох файлах txt/htm/html.

Натисніть, щоб дізнатися більше про цю функцію…


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (4)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт,
перший код:
Код VBA: знайдіть і замініть кілька текстів в одному файлі Word

thhows error: помилка компіляції, визначений користувачем тип не визначено
https://i.imgur.com/FZPBy4I.png
Цей коментар був мінімізований модератором на сайті
Привіт, Ерік
Код працює добре.
Можливо, ви не перевірили Бібліотека об’єктів Microsoft Word 16.0 від Посилання - VBAProject діалогове вікно.
Це означає, що ви можете пропустити кроки 3 і 4 цієї статті.
Будь ласка, спробуйте ще раз, якщо у вас все ще є інші проблеми, будь ласка, прокоментуйте тут.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Цей коментар був мінімізований модератором на сайті
Це не працює.

Помилка компіляції: тип, визначений користувачем, не визначено
Цей коментар був мінімізований модератором на сайті
Привіт, Парам
Код працює добре.
Можливо, ви не перевірили Бібліотека об’єктів Microsoft Word 16.0 від Посилання - VBAProject діалогове вікно.
Це означає, що ви можете пропустити кроки 3 і 4 цієї статті.
Будь ласка, спробуйте ще раз, якщо у вас все ще є інші проблеми, будь ласка, прокоментуйте тут.
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
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL