Как найти и заменить несколько текстов в Word с помощью Excel?
AuthorXiaoyang•Last modified
В Microsoft Word функция «Найти и заменить» является эффективным способом быстрого поиска и замены определенного текста. Однако, когда вам нужно заменить несколько разных терминов, ручной ввод каждого из них может занять много времени.
Чтобы упростить этот процесс, вы можете использовать Excel для создания списка текстов, которые нужно найти и заменить, а затем автоматизировать задачу с помощью простого кода VBA. Это руководство проведет вас через использование Excel и VBA для поиска и замены нескольких текстов в одном документе Word. Кроме того, я покажу вам, как расширить это на несколько документов и представлю мощную функцию Kutools для пакетной замены текста.
Найти и заменить несколько текстов в одном документе Word из Excel с помощью кода VBA
Если вы хотите найти и заменить некоторые тексты только в одном файле Word, следующий код VBA сможет помочь вам.
1. На листе Excel создайте столбец, содержащий тексты, которые вы хотите найти и заменить, и другой столбец с текстами для замены, как показано на скриншоте ниже. Затем одновременно нажмите клавиши Alt+ F11, чтобы открыть окно Microsoft Visual Basic for Applications.
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 for Applications, нажмите Инструменты > Ссылки, см. скриншот:
4. В открывшемся диалоговом окне Ссылки – VBAProject выберите Microsoft Word 16.0 Object Library из списка, см. скриншот:
5. Нажмите кнопку ОК, чтобы закрыть диалоговое окно, и теперь нажмите клавишу F5, чтобы запустить этот код. В открывшемся окне Обзор выберите файл Word, в котором вы хотите заменить тексты, см. скриншот:
6. Затем нажмите ОК, в следующем диалоговом окне нажмите клавишу Ctrl, чтобы выбрать исходный текст и новые текстовые ячейки отдельно, которые вы хотите использовать, см. скриншот:
7. Затем нажмите кнопку ОК, теперь тексты найдены и заменены новыми текстами в указанном документе, и файл также открыт. Вам следует сохранить его, чтобы сохранить изменения.
Найти и заменить несколько текстов в нескольких документах Word из Excel с помощью кода VBA
Я также создал код VBA, который поможет вам найти и заменить несколько текстов в нескольких документах Word. Следуйте этим шагам:
1. Откройте файл Excel, содержащий два столбца значений для замены и замены на, как показано на скриншоте ниже, затем одновременно нажмите клавиши Alt+ F11, чтобы открыть окно Microsoft Visual Basic for Applications.
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 for Applications, нажмите Инструменты > Ссылки, в диалоговом окне Ссылки – VBAProject выберите Microsoft Word 16.0 Object Library и Microsoft Scripting Runtime из списка, см. скриншот:
4. После выбора двух опций нажмите ОК, чтобы закрыть диалоговое окно, затем продолжайте нажимать клавишу F5 для выполнения этого кода. В открывающемся окне Обзор выберите папку, содержащую документы Word, в которых вы хотите выполнить поиск и замену, см. скриншот:
5. Нажмите кнопку ОК, в открывшемся диалоговом окне нажмите клавишу Ctrl, чтобы выбрать исходные тексты и новые текстовые столбцы отдельно, которые вы хотите использовать, см. скриншот:
6. Наконец, нажмите ОК, и исходные тексты будут заменены новыми во всех этих файлах. После завершения появится диалоговое окно, как показано на скриншоте ниже:
7. Нажмите ОК, чтобы закрыть диалоговое окно. Вы можете перейти к файлам, чтобы проверить результаты преобразования.
Найти и заменить несколько текстов в нескольких документах Word с помощью мощной функции
В этом разделе я объясню, как выполнять пакетный поиск и замену текста в нескольких документах Word, используя сам Word, а не Excel. Используя мощный Kutools для Word, вы можете эффективно искать определенные тексты и заменять их новыми в основном тексте, колонтитулах, комментариях и других местах, а также при необходимости выделять результаты.
Kutools для Word,оснащённый ИИ 🤖, предлагает более 100 удобных функций для упрощения ваших задач.
1. Откройте один файл Word, затем нажмите Kutools Plus > Пакетный поиск и замена, см. скриншот:
2. В открывшемся диалоговом окне Пакетный поиск и замена выполните следующие действия:
Нажмите кнопку Добавить, чтобы добавить файлы Word, где вы хотите найти и заменить тексты;
В левой панели нажмите Добавить строку на верхней ленте;
В поле ввода введите исходный текст и новый текст в столбцы Поиск и Замена соответственно, которые вы хотите найти и заменить. Также вы можете указать цвет для выделения замененных текстов по мере необходимости.
3. После создания критериев поиска нажмите кнопку Заменить, чтобы перейти на вкладку Предварительный просмотр результатов и просмотреть результаты поиска и замены. См. скриншот:
4. Затем нажмите кнопку Закрыть, и появится окно запроса, напоминающее вам, хотите ли вы сохранить этот сценарий. Нажмите Да, чтобы сохранить его, или Нет, чтобы игнорировать, см. скриншот:
Советы: Эта функция также может помочь выполнить следующие операции:
Найти и заменить специальные символы в нескольких документах Word;
Найти и заменить несколько строк с определенным форматированием в нескольких документах Word;
Найти и заменить несколько строк в нескольких файлах txt/htm/html.
Делайте больше за меньшее время с Kutools для Word, усиленным ИИ
Kutools для Word — это не просто набор инструментов, это умное решение, созданное для повышения вашей продуктивности. Благодаря возможностям, управляемым искусственным интеллектом, и самым необходимым функциям, Kutools помогает вам делать больше за меньшее время:
Мгновенно суммируйте, переписывайте, составляйте и переводите контент.
Проверяйте текст в реальном времени с предложениями по грамматике, пунктуации и стилю во время написания.
Перефразируйте и переводите контент, сохраняя макет, стиль и структуру без изменений.
Легко переводите ваш контент более чем на 40 языков, расширяя свое глобальное присутствие.
Получайте мгновенную помощь и умные рекомендации на основе содержимого текущего документа.
Спросите, как выполнить задачу — например, удалить разрывы разделов — и ИИ проведет вас или сделает это за вас.
Редактируйте конфиденциальную информацию за считанные секунды, чтобы обеспечить полную конфиденциальность.
Все инструменты работают бесперебойно внутри Word, всегда под рукой.
Создавайте, улучшайте, переводите, суммируйте и защищайте документы без усилий.
Улучшайте грамматику, ясность и тон во время написания в реальном времени.
Перефразируйте и переводите контент без изменений макета или форматирования.
Спросите, как выполнить задачу — например, удалить разрывы разделов — и ИИ проведет вас или сделает это за вас.
Все инструменты работают бесперебойно внутри Word, всегда под рукой.
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.
Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
Совместная работа — максимальная эффективность между приложениями Office
30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек