Данный код поможет заменить определенную строку в нескольких файлах Word одновременно.
Например это может пригодится, если необходимо заменить номер счета или телефона в корпоративных бланках и т.д.
Инструмент сделан на основе документа Word, с помощью кода VBA. Внешне документ выглядит так:
Два поля, с привязанными Bookmark-ами (SearchFor и ReplaceWith) позволяют обратиться к ним из кода:
Кнопка вызывает стандартный диалог выбора файлов. Для обработки файлов создается отдельный объект Word, который на всякий случай делается видимым:
Выключаются предупреждения:
Все файлы последовательно открываются, обрабатываются в цикле и закрываются с сохранением.
Например это может пригодится, если необходимо заменить номер счета или телефона в корпоративных бланках и т.д.
Инструмент сделан на основе документа Word, с помощью кода VBA. Внешне документ выглядит так:
Два поля, с привязанными Bookmark-ами (SearchFor и ReplaceWith) позволяют обратиться к ним из кода:
searchFor = ThisDocument.Bookmarks("SearchFor").Range.Text replaceWith = ThisDocument.Bookmarks("ReplaceWith").Range.Text
Кнопка вызывает стандартный диалог выбора файлов. Для обработки файлов создается отдельный объект Word, который на всякий случай делается видимым:
Set wordApp = New Application wordApp.Visible = True
Выключаются предупреждения:
Application.DisplayAlerts = wdAlertsNone wordApp.DisplayAlerts = wdAlertsNone
Все файлы последовательно открываются, обрабатываются в цикле и закрываются с сохранением.
For Each FileName In picker.items Set wordDocument = wordApp.Documents.Open(FileName) With wordDocument.Content.Find .Text = searchFor .Replacement.Text = replaceWith .Forward = True .MatchCase = False .Execute Replace:=wdReplaceAll End With wordDocument.Close SaveChanges:=True Next