Destio

Установка номера страниц через макросы в Word

Со времени написания этого сообщения я обзавелся более продвинутым способом нумерации, а этот пусть лежит для истории.

Что надо сделать? Проставить страницы у пачки .doc и docx файлов.
Что уже сделано для этого? В каждом файле уже есть колонтитулы с номерами страниц, просто каждый начинается с 1 страницы. Сами номера страниц заботливо сосчитаны кривеньким перл-скриптом и вписаны в заголовок .doc-файлов (в виде Название_файла+343+.doc)

Дальше начинает работать этот мелкий макрос, который считывает страницы из заголовка, и объясняет ворду что этот файл нужно нумеровать не с 1, после чего сохраняет файл и закрывает все за собой.

Sub numeration()
'
' numeration Macro
'
'
Dim temp As Variant
Dim author As String
Dim extension As String
Dim firstpage As Integer

temp = Split(ActiveDocument.Name, "+")

'Assigns values to variables
author = temp(0)
firstpage = temp(1)
extension = temp(2)

'firstpage = 5

With ActiveDocument
  Set oRng = .Sections(1).Headers(wdHeaderFooterPrimary)
    With oRng.PageNumbers
    .RestartNumberingAtSection = True
    .StartingNumber = firstpage
  End With
End With

 ActiveDocument.Save
Application.Quit

End Sub

При этом портятся некоторые колонтитулы, если стоит опция “отдельный колонтитулы первой страницы”, или если файл состоит из одной страницы (нечетной), а по распределению ей выпадает четная. Чтобы этого всего избежать нужно чуть большее колдунство, то есть проставлять все колонтитулы этим же макросом. Возможно позже сделаю.

Ярлыки: , , ,


Ближайшие сообщения:

Похожие сообщения:

Комментарии к этой записи отключены.

http://surgut.gdekupitauto.ru/ нет скидки на авто новое купить.