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?
Якщо у вас є кілька десятків файлів слів, що містять однаковий вміст (наприклад, верхній колонтитул, нижній колонтитул, деякі спеціальні слова чи цифри), і вам потрібно замінити однаковий вміст у цих документах у програмі Word. Як би вам було простіше швидко це зробити? Звичайно, ви можете відкрити ці файли по одному, щоб замінити один і той же вміст, але це буде трудомістко і клопітно. Цей підручник покаже вам хитрий спосіб заміни одного вмісту в декількох документах у Word одночасно.
Знайдіть і замініть тексти в декількох документах Word одночасно кодом VBA
Легко знаходити та замінювати різні тексти в декількох документах одночасно за допомогою Kutools для Word
1. прес інший + F11 відкрити Microsoft Visual Basic для додатків вікна.
2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Модулі, а потім скопіюйте наступний код 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 діалогове вікно, щоб закінчити пошук і заміну.
У цьому випадку всі слова "Word" у вибраних документах одночасно замінюються на "Excel".
Тут настійно рекомендую Пакетний пошук та заміна особливість Kutools для Word. За допомогою цієї функції ви можете легко знаходити та замінювати різні тексти в кількох документах Word одночасно. Давайте подивимося, як застосувати цю функцію для пошуку та заміни текстів у документах.
Kutools для Word : з більш ніж 100 зручними надбудовами Word, безкоштовно спробувати без обмежень протягом 60 днів.
1. Клацніть, будь ласка Kutools Plus > Пакетний пошук та заміна щоб увімкнути цю функцію.
2 В Пакетний пошук та заміна діалогове вікно, будь ласка, налаштуйте наступним чином.
3. Закрийте Пакетний пошук та заміна діалогове вікно
Щоб отримати додаткову інформацію про цю функцію, будь ласка натисніть тут....
Якщо ви хочете отримати безкоштовну пробну версію цієї утиліти, перейдіть на безкоштовно завантажити програмне забезпечення - спочатку, а потім перейдіть до застосування операції, як описано вище.