Добрый день!
Предлагаю Вашему вниманию макрос для пакетной обработки всех файлов Word в текущей папке (в которой находится активный файл).
Макрос был представлен нашим экспертом Yshindin (http://wordexpert.ru/forum/viewtopic.php?id=2503) и немного изменен мной.
Sub ProcessFiles()
Dim mypath As String
Dim MyFile As String
Dim adoc As Document
'Определение пути к текущей папке
mypath = ActiveDocument.Path + "\"
MyFile = Dir(mypath)
Do While MyFile <> ""
'Производится перебор всех файлов в текущей папке
If MyFile Like "*.doc*" Then
Set adoc = Nothing
On Error Resume Next
'Открытие очередного документа
Set adoc = Documents.Open(mypath & MyFile)
On Error GoTo 0
If Not (adoc Is Nothing) Then
'Обработка очередного документа
ProcessFile
End If
'Сохранение и закрытие очередного документа
adoc.Close savechanges:=wdSaveChanges
End If
MyFile = Dir
Loop
End Sub
Sub ProcessFile()
'Функция для обработки очередного документа (файла)
'Чистка верхнего колонтитула
Application.Run MacroName:="ViewHeader"
Selection.WholeStory
Selection.Delete
Selection.EscapeKey
'Чистка нижнего колонтитула
Application.Run MacroName:="ViewFooter"
Selection.WholeStory
Selection.Delete
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Selection.EscapeKey
End Sub
В данном примере функция ProcessFile производит очистку колонтитулов.
Вы можете вставить в эту функцию все действия по пакетной обработке файлов, удалению форматирования и т.д., которые Вам нужны.
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.