Порада. Інші мови - перекладена Google. Ви можете відвідати English версія цього посилання.
увійти
x
or
x
x
Реєстрація
x

or

Як шукати та замінювати декілька файлів словом?

Якщо у вас декілька десятків файлів слів, які містять один і той самий вміст (наприклад, заголовок, нижній колонтитул, деякі спеціальні слова або номер), вам потрібно замінити один і той же вміст на ці документи в Word. Як було б легше зробити це швидко? Звичайно, ви можете відкривати ці файли один за одним, щоб замінити той самий вміст, але це займе багато часу та тривогу. Цей підручник покаже вам химерний спосіб замінити один і той же вміст в декількох документах Word одночасно.

Знайти та замінити тексти у кількох документах Word одночасно з кодом VBA


Об'єднати / об'єднати декілька документів в один легко:

повне г, повне г,, показали, від, номер, XNUMX Об'єднати документи корисність Kutools для Word може допомогти швидко об'єднати декілька документів. Вам просто потрібно:

  • Виберіть документи, які ви об'єднаєте в один;
  • Вкажіть перерву між кожним об'єднаним документом;
  • Почніть об'єднуватися. Див. Знімок екрана:

Kutools для Word: з більш ніж 100 зручними надбудовами Word, ви можете вільно спробувати без обмежень в днях 30. Завантажити та безкоштовну пробну версію зараз!

Kutools для Word: Додайте нові розширені функції 100 до слову 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Вкладка Office: Увімкнути Редагування та перегляду вкладок в офісі, Just Like Chrome, Firefox, IE 8 / 9 / 10.
Класичне меню для Office: Принесіть огляд Office 2003 назад для Office 2007, 2010, 2013, 2016 та 2019.

Знайти та замінити тексти у кількох документах 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 для Word діалоговому вікні введіть текст, який ви знайдете в документах у документ Знайти те, що поле, а потім натисніть кнопку OK кнопки.

6 У другому Kutools для Word діалогове вікно, введіть текст, який ви заміните, і натисніть кнопку OK кнопки.

8. Натисніть OK кнопка в наступному Microsoft Word діалогове вікно, щоб закінчити пошук і замінити.

У цьому випадку всі слова "Слово" у вибраних документах одночасно замінюються "Excel".


Вкладка Office - Перегляд за допомогою вкладень, редагування та керування кількома документами в Word:

Вкладка Office відкриває інтерфейс у вигляді вкладок у веб-переглядачах, таких як Google Chrome, нові версії Internet Explorer та Firefox в Microsoft Word. Це волі бути інструментом економії часу та незамінним у вашій роботі. Дивіться демонстрацію нижче:

Клацніть для безкоштовної пробної версії Office Tab!




Kutools для Word

Більше 100 розширених функцій для Word 2003, 2007, 2010, 2013, 2016 та 2019

постріл-кутуль-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.
    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!
  • To post as a guest, your comment is unpublished.
    DaveW · 1 years ago
    Thanks so much for posting this, absolute lifesaver!

    I notice that there is a line "MatchWildcards = False", which implies that it's possible to use wildcards in the search text - is that possible and, if so, what's the protocol?

    Thanks again!