Как выполнить поиск и замену нескольких фрагментов текста в Word с помощью Excel?
АвторСяоян•Дата изменения
В Microsoft Word функция Поиск и замена — это эффективный способ быстро найти и заменить определённый текст. Однако при необходимости замены сразу нескольких различных терминов ручной ввод каждого из них может занять много времени.
Чтобы упростить этот процесс, можно воспользоваться Excel для составления списка текстов, которые требуется найти и заменить, а затем автоматизировать задачу с помощью простого кода VBA. В этом руководстве мы расскажем, как использовать Excel и VBA для выполнения множественной замены текста в одном документе Word. Кроме того, вы узнаете, как применить эту функцию сразу к нескольким документам, а также познакомитесь с мощной возможностью Kutools для пакетной замены текста.
Поиск и замена нескольких текстов в одном документе 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 Object Library, см. снимок экрана:
5. Нажмите кнопку ОК, чтобы закрыть диалоговое окно, затем нажмите клавишу F5, чтобы запустить код. В появившемся окне «Обзор» выберите файл Word, в котором нужно заменить текст, — см. снимок экрана:
6. Затем нажмите кнопку ОК, а в следующем диалоговом окне — клавишу Ctrl, чтобы отдельно выбрать ячейки «Оригинальный текст» и «Новый текст», которые требуется использовать (см. снимок экрана):
7. После этого нажмите кнопку ОК. Теперь нужные фрагменты текста найдены и заменены на новый текст в указанном вами документе, а файл автоматически открыт — не забудьте сохранить его, чтобы изменения сохранились.
Поиск и замена нескольких текстов в нескольких документах 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 Object Library и Среда выполнения сценариев Microsoft, см. снимок экрана:
4. После выбора этих двух параметров нажмите кнопку ОК, чтобы закрыть диалоговое окно, а затем снова нажмите клавишу F5, чтобы выполнить этот код. В открывшемся окне Обзор выберите папку с документами Word, в которых требуется выполнить операцию «Найти и заменить». См. снимок экрана:
5. Нажмите кнопку ОК, а затем — в появившемся диалоговом окне — удерживайте клавишу Ctrl, чтобы отдельно выбрать столбцы «Оригинальный текст» и «Новый текст», которые требуется использовать (см. снимок экрана):
6. Наконец, нажмите кнопку ОК, и исходный текст во всех этих файлах будет заменён новым. После завершения появится диалоговое окно, как показано на снимке экрана ниже:
7. Нажмите кнопку ОК, чтобы закрыть диалоговое окно. После этого вы сможете открыть файлы и проверить результаты преобразования.
Поиск и замена нескольких текстов в нескольких документах Word с помощью мощной функции
В этом разделе я расскажу, как выполнить пакетный поиск и замену текста сразу в нескольких документах Word — прямо в Word, без Excel. Благодаря мощной функции Kutools для Word вы сможете эффективно находить нужные фрагменты текста и заменять их новыми — в основном теле документа, колонтитулах, сносками, комментариях и других элементах, а при необходимости — даже выделять результаты.
Kutools для Word
Kutools для Word ускоряет выполнение повседневных задач по работе с документами благодаря практичным инструментам, встроенным прямо в Microsoft Word — без программирования и сложной настройки.
Написание, редактирование, перевод и суммаризация текстов с помощью ИИ
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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек