Перейти к основному содержанию

Как искать и заменять в нескольких файлах словом?

Если у вас есть несколько десятков файлов слов, которые содержат одинаковое содержимое (например, верхний колонтитул, нижний колонтитул, некоторые специальные слова или числа), и вам необходимо заменить одно и то же содержимое в этих документах в Word. Как вам было бы проще сделать это быстро? Конечно, вы можете открывать эти файлы один за другим, чтобы заменить одно и то же содержимое, но это займет много времени и проблем. Это руководство покажет вам сложный способ одновременной замены одного и того же содержимого в нескольких документах Word.

Находите и заменяйте тексты в нескольких текстовых документах одновременно с кодом VBA
Легко находите и заменяйте разные тексты в нескольких документах одновременно с помощью Kutools for Word


Находите и заменяйте тексты в нескольких текстовых документах одновременно с кодом VBA

1. Нажмите другой + F11 для открытия Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите ВставитьМодули, затем скопируйте следующий код VBA в окно модуля.

Код VBA: поиск и замена одного и того же контента в нескольких документах одновременно

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. нажмите F5 ключ для запуска кода.

4. В дебюте ЛИСТАТЬ СПИСКИ в окне найдите и выберите документы, которые вы найдете и замените текст внутри, а затем щелкните OK кнопка. Смотрите скриншот:

5. В первом Kutools for Word диалоговом окне введите текст, который вы найдете в документах, в Найти то, что поле, а затем щелкните OK .

6. В секунду Kutools for Word диалоговом окне введите текст, которым вы будете заменять, и щелкните OK .

8. Нажмите OK кнопка в следующем Microsoft Word диалоговое окно для завершения поиска и замены.

В этом случае все слова «Word» в выбранных документах заменяются одновременно на «Excel».


Легко находите и заменяйте разные тексты в нескольких документах одновременно с помощью Kutools for Word

Здесь очень рекомендую Пакетный поиск и замена особенность Kutools for Word. С помощью этой функции вы можете легко находить и заменять разные тексты в нескольких документах Word одновременно. Давайте посмотрим, как применить эту функцию для поиска и замены текстов в документах.

Kutools for Word : с более чем 100 удобными надстройками Word, бесплатно попробовать без ограничений в 60 дня.

1. Щелкните Кутулс Плюс > Пакетный поиск и замена для включения функции.

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

  • 2.1) Нажмите Добавить строку под Найти и заменить вкладка;
  • 2.2) В созданных полях строки:
A. Введите текст, который вы найдете, в текстовое поле в Найдите обзор
B. Введите текст, который вы замените, в текстовое поле в Замените столбец;
C. Укажите тип поиска, где искать текст и цвет, чтобы выделить текст по мере необходимости. В этом случае я выбираю Полное соответствие слов, Основной документ и определенный цвет из Тип поиска, Найти в и Выделите колонны;
  • 2.3) Повторите шаги 2.1 и 2.2, чтобы добавить другие тексты, которые вы найдете и замените;
  • 2.4) Нажмите  в Тип файла раздел для добавления документов Word, в которых вы найдете и замените тексты;
  • 2.5) Нажмите Замените or Найдите кнопка. Смотрите скриншот:

Заметки:
1. Если вы щелкните Найдите кнопки, все результаты поиска будут отображаться под Результат предварительного просмотра таб. После предварительного просмотра результатов, если вы хотите заменить все тексты, нажмите Найти и заменить таб. В противном случае закройте диалог.

2. Если вы щелкните Замените все указанные тексты будут немедленно заменены новыми, а результаты также будут отображаться под Результат предварительного просмотра меню.

3. Если вы укажете цвета выделения на шаге 2, все замененные тексты будут выделены указанными цветами, и вы сможете легко найти их в документах.

3. Закрой Пакетный поиск и замена Диалоговое окно

Для получения дополнительной информации об этой функции, пожалуйста, нажмите здесь ....

Если вы хотите получить бесплатную пробную версию этой утилиты, перейдите по ссылке бесплатно скачать программное обеспечение сначала, а затем перейдите к применению операции в соответствии с вышеуказанными шагами.

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

Kutools for Word - Повысьте свой опыт работы со словом с помощью Over 100 Замечательные особенности!

🤖 Kutools AI Помощник: Преобразуйте свое письмо с помощью искусственного интеллекта. Создать контент  /  Переписать текст  /  Обобщение документов  /  Запросить информацию на основе документа, все в Word

📘 Владение документами: Разделить страницы  /  Объединить документы  /  Экспортировать выбранное в различные форматы (PDF/TXT/DOC/HTML...)  /  Пакетное преобразование в PDF  /  Экспортировать страницы как изображения  /  Печать нескольких файлов одновременно...

Редактирование содержания: Пакетный поиск и замена через несколько файлов  /  Изменить размер всех изображений  /  Транспонировать строки и столбцы таблицы  /  Преобразовать таблицу в текст...

🧹 Легкая очистка: Убрать Дополнительные места  /  Разрывы разделов  /  Все заголовки  /  Текстовые поля  /  Гиперссылки  / Чтобы получить дополнительные инструменты для удаления, посетите наш Удалить группу...

Креативные вставки: Вставлять Разделители тысяч  /  Флажки  /  радио кнопки  /  QR код  /  Штрих-код  /  Таблица диагональных линий  /  Заголовок уравнения  /  Заголовок изображения  /  Заголовок таблицы  /  Несколько изображений  / Узнайте больше в Вставить группу...

???? Точный выбор: Точно определить конкретные страницы  /  Эта таблица  /  формы  /  заголовки абзацев  / Улучшите навигацию с помощью БОЛЕЕ Выберите функции...

Звездные улучшения: Быстро перемещайтесь в любое место  /  автоматическая вставка повторяющегося текста  /  плавно переключаться между окнами документов  /  11 инструментов преобразования...

👉 Хотите попробовать эти функции? Kutools for Word предлагает 60-дневная бесплатная пробная версия, без ограничений! 🚀
 
Comments (71)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Congrats!!! Your VBA code saves a lot of time. 5*
Rated 5 out of 5
This comment was minimized by the moderator on the site
thanks for -How To Search And Replace Across Multiple Files In Word?

what about from out side (by folder) ?

thanks gain
This comment was minimized by the moderator on the site
This is a great explanation.  Is there a way to change settings, e.g. page size, simultaneously? 
This comment was minimized by the moderator on the site
After pressing F5, I get the following error" "Compile error: User-defined type not defined." Can someone help?
This comment was minimized by the moderator on the site
Hi Monique,Please check if the Microsoft Office Object Library is enabled as shown in the screenshot below.
This comment was minimized by the moderator on the site
This is SUCH a time saving solution. THANK YOU!
One thing that may make it even better, is adding support for subdirectories. (That is: Files in multiple subdirectories)
I am an absolute newbie in this, and don't know the syntax, the parameter, or where to add that.

Could somebody help?
This comment was minimized by the moderator on the site
I need to replace text in multiple Word files and have the replaced text highlighted. Is there a way to do this?
This comment was minimized by the moderator on the site
Hi Daphne,
Why not try the Batch Find and Replace feature of Kutools for Word? It can solve this issue with ease.
This comment was minimized by the moderator on the site
this was a lifesaver thank you so much
This comment was minimized by the moderator on the site
Is it possible to replace in the headers of the word doc?
This comment was minimized by the moderator on the site
Hi Tiago,
Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
.Filters.Clear
.Filters.Add "All WORD File ", "*.docx", 1
.AllowMultiSelect = True
i = 1
If .Show = -1 Then
For Each stiSelectedItem In .SelectedItems
GetStr(i) = stiSelectedItem
i = i + 1
Next
i = i - 1
End If
Application.ScreenUpdating = False
xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
For j = 1 To i Step 1
Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
Windows(GetStr(j)).Activate
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = xFindStr 'Find What
.Replacement.Text = xReplaceStr 'Replace With
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
End If
ActiveDocument.Save
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub
This comment was minimized by the moderator on the site
Is that possible to replace in the header of the word doc?
This comment was minimized by the moderator on the site
Thanks for sharing this information with us.
Word search and replace tool
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations