Статьи из блога

Как вставить поле подсчета страниц в колонтитул

Елена работает с документами, в которых титульный лист (первый по счету) не должен учитываться в общем количестве листов в документе. Количество страниц необходимо вывести в колонтитул. Елена создала автоматический макрос, который создает поле следующего вида - {={NUMPAGES}-1}, но затрудняется вставить его в колонтитул. Елена спрашивает: как можно вставить в колонтитул такое поле с помощью макроса?

 

Это можно сделать с помощью следующего макроса.

Обратите внимание: этот макрос очищает колонтитул от любого текста, который там содержится. Будьте внимательны!

Sub ins_HF_nested_fields()
'Вставка вложенного поля (общее кол-во страниц минус 1) в верхний колонтитул
'формула поля: { ={ numpages } - 1 }
Dim myRange As Range
Dim hfRange As Range
Set myRange = ActiveDocument.Range(0, 0)
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
Set hfRange = ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range
With hfRange
   .Delete
   .Text = "Всего листов: "
   .MoveEnd wdCharacter, 1
   .Collapse wdCollapseEnd
   .Select
   .Fields.Add Range:=hfRange, Type:=wdFieldExpression, PreserveFormatting:=False
End With
With Selection
   .MoveRight wdCharacter, 3
   .Fields.Add Range:=Selection.Range, Type:=wdFieldNumPages, PreserveFormatting:=False
   .TypeText " -1"
   .Fields.Update
End With
With ActiveDocument
   .Range(0, 0).Select
   .ActiveWindow.View.Type = wdPrintView
   .ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit
   .ActiveWindow.View.ShowFieldCodes = False
End With
End Sub

 

Если вы не знаете, как подключить к документу и применить эти макросы, изучите следующие заметки с сайта:

Создание макроса из готового кода

Автоматическая запись макроса

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Оставьте комментарий!

(обязательно)

^ Наверх