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, Затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код 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, Затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код 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 for Word, вы можете быстро найти и заменить определенные тексты и заменить их новыми текстами в основном файле, заголовке, нижнем колонтитуле, комментариях и т. д. и выделить результаты по мере необходимости.

1. Откройте один файл Word и нажмите Кутулс Плюс > Пакетный поиск и замена, см. снимок экрана:

2. В открытом Пакетный поиск и замена диалоговом окне выполните следующие действия:

  • Нажмите Добавить кнопка для добавления файлов Word, в которых вы хотите найти и заменить тексты;
  • На левой панели нажмите Добавить ряд из верхней ленты;
  • Во вставленном поле введите исходный текст и новый текст в поле Найдите и Замените столбцы отдельно, которые вы хотите найти и заменить. Также вы можете указать цвет для выделения заменяемых текстов по своему усмотрению.

3. После создания критериев поиска нажмите Замените кнопку, чтобы перейти к Результат предварительного просмотра вкладку для просмотра результатов поиска и замены. Смотрите скриншот:

4, Затем нажмите Закрыть кнопку, и появится всплывающее окно, чтобы напомнить вам, хотите ли вы сохранить этот сценарий, нажмите Да чтобы сохранить его, и нажмите Нет чтобы проигнорировать это, см. снимок экрана:

Советы: Эта функция также может помочь выполнить следующие операции:
  • Поиск и замена специальных символов в нескольких документах Word;
  • Найдите и замените несколько строк определенным форматированием в нескольких документах Word;
  • Найдите и замените несколько строк в нескольких файлах txt/htm/html.

Нажмите, чтобы узнать более подробную информацию об этой функции…


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (4)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Приветствую,
первый код:
Код VBA: поиск и замена нескольких текстов в одном файле Word

выдает ошибку: ошибка компиляции, определенный пользователем тип не определен
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
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL