#ms-word #ms-office
#ms-word #ms-office
Вопрос:
Я создал новый стиль в Word (через «создать стиль …»), и я хочу назначить этот стиль 200 файлам Word. открывать их один за другим и назначать им стиль занимает много времени. Есть ли какой-либо способ присвоить им стиль, не открывая их?
Ответ №1:
Самый простой способ сделать это — использовать Word VBA.
Поместите 200 файлов Word, которым будет присвоен стиль, в каталог, не содержащий других файлов. Затем создайте файл шаблона .dotm (Word 2007 или выше) или .dot (Word 2003 или ниже) в другом месте. Создайте стиль для копирования в файле шаблона, а также поместите следующий код в модуль в том же файле шаблона (ALT-F11 для доступа к редактору):
Sub BatchCopyStyles()
'Make sure that the template that contains the style to be copied and this code
'is open and acting as the active document before running this macro
Dim file As Variant
Dim folderPath As String 'path to files receiving the style
Dim targetPath As String
Dim templateFile As String 'file that contains style and this code
Dim styleTemplate As Document
folderPath = "C:UsersJoeDesktopTargetFolder"
templateFile = "C:UsersJoeDesktopCopyStyle.dotm"
Set styleTemplate = ActiveDocument
file = Dir(folderPath)
While (file <> "")
Set file = Documents.Open(FileName:=folderPath amp; file)
styleTemplate.Activate
targetPath = folderPath amp; file
Application.OrganizerCopy Source:=templateFile, _
Destination:=targetPath, _
Name:="StyleToCopy", _
Object:=wdOrganizerObjectStyles
file.Close wdSaveChanges
file = Dir
Wend
End Sub
Отредактируйте код для правильных путей, имени файла, названия стиля и т.д. С файлом, содержащим этот код и стиль, который будет назначен в качестве активного документа, запустите макрос из редактора VBA (F5). Это откроет каждый файл, скопирует стиль, а затем закроет файл. Открывать и закрывать документ 200 раз будет не очень приятно, но он должен выполнить свою работу.