Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

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


Объединение / объединение нескольких документов в один легко:

Объединить документы полезности Kutools for Word может помочь вам объединить несколько документов в один быстро. Вам просто нужно:

  • Выберите документы, которые вы объедините в один;
  • Укажите разрыв между каждым объединенным документом;
  • Начните слияние. Смотрите скриншот:

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

Kutools for Word: Добавление новых расширенных функций 100 в Word 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Office Tab: Включить Редактирование вкладок и просмотр в офисе, Just Like Chrome, Firefox, IE 8 / 9 / 10.
Classic Menu for Office: Принесите старый вид офиса 2003 Назад для Office 2007, 2010, 2013, 2016 и 2019.

Поиск и замена текстов в нескольких текстовых документах одновременно с кодом 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».


Office Tab - Вкладка Просмотр, редактирование и управление несколькими документами в Word:

Вкладка «Office» предоставляет интерфейс с вкладками в виде веб-браузеров, таких как Google Chrome, новые версии Internet Explorer и Firefox для Microsoft Word. Это будем быть инструментом экономии времени и незаменимым в вашей работе. См. Ниже демо:

Нажмите для бесплатной пробной версии Office Tab!




Kutools for Word

Больше, чем расширенные функции 100 для Word 2003, 2007, 2010, 2013, 2016 и 2019

дробовики kutools-700-225-КТЭ

Дополнительные функции | Бесплатная загрузка | Только $ 39.00 для сотен функций

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tomuko Suryadi · 1 years ago
    What if I want to find and replace multiple sentences in multiple documents?
  • To post as a guest, your comment is unpublished.
    3Cees · 1 years ago
    Thank you so much. You win the internet!

    This has saved me amending 360 documents.

    You're my favourite :)
  • To post as a guest, your comment is unpublished.
    WAK · 1 years ago
    worked like a charm for me. Thanks a billion!
  • To post as a guest, your comment is unpublished.
    CC · 1 years ago
    Merlin 4099, I am having trouble with the following portion of your code. I am new to VBA.:

    ' --------------- --------------- --------------- ----------
    ' Beginning Header Updates
    ' --------------- --------------- --------------- ----------
    Windows(GetStr(j)).Activate
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.Cle arFormatting

    If ActiveWindow.View.SplitSpecialwdPane None Then
    ActiveWindow.Panes(2).Close
    End If

    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
    ActivePane.View .Type = wdOutlineView Then

    Can anyone help me? I think I fixed most
    • To post as a guest, your comment is unpublished.
      blue_crayon · 1 years ago
      Was figuring out this issue myself, today.

      First, make sure you fix the line:

      Selection.Find.Replacement.Cle arFormatting

      To be:

      Selection.Find.Replacement.ClearFormatting

      Then, change the following line:

      If ActiveWindow.View.SplitSpecialwdPane None Then

      To look like this:

      If ActiveWindow.View.SplitSpecial <> wdPaneNone Then


      The code should look like this in the end:

      Windows(GetStr(j)).Activate
      Selection.Find.ClearFormatting
      Selection.Find.Replacement.ClearFormatting

      If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
      ActiveWindow.Panes(2).Close
      End If

      If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
      ActivePane.View.Type = wdOutlineView Then
      ActiveWindow.ActivePane.View.Type = wdPrintView
      End If
  • To post as a guest, your comment is unpublished.
    CC · 1 years ago
    Merlin4099, I am having trouble with the following portion of your code:

    ' --------------- --------------- --------------- ----------
    ' Beginning Header Updates
    ' --------------- --------------- --------------- ----------
    Windows(GetStr(j)).Activate
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.Cle arFormatting

    If ActiveWindow.View.SplitSpecialwdPane None Then
    ActiveWindow.Panes(2).Close
    End If

    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
    ActivePane.View .Type = wdOutlineView Then

    Can you or anyone else help me?

    Thanks!