Vba word работа с колонтитулами

Формулировка задачи:

Прошу помочь в следующей ситуации.

Из начально документ имеет один раздел с одной страницей (первая страница — особый колонтитул). По ходу работы с документом возможно появление N — страниц в первом разделе а, также Np — количество разделов. Необходимо создать код который вставляет номер страницы (скажем по центру): — особый колонтитул только для первого раздела; — нумерация последующих разделов с 1. Пробую научиться задать формат номера страницы, не выходит — аленький цветочек.

Следующее специальное форматирование и коды Visual Basic для приложений (VBA) могут быть включены в состав свойств верхнего и нижнего колонтитулов (лефсеадер, центерхеадер, ригхсеадер, лефтфутер, центерфутер, и ригхтфутер). The following special formatting and Visual Basic for Applications (VBA) codes can be included as a part of the header and footer properties (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, and RightFooter).

Код формата Format code Описание Description
&L &L Left выравнивает символы, которые следуют. Left aligns the characters that follow.
&C &C Центрирует следующие символы. Centers the characters that follow.
&R &R Right выравнивает символы, которые следуют. Right aligns the characters that follow.
&E &E Включает или выключает печать с двумя подчеркиванием. Turns double-underline printing on or off.
&X &X Включает или выключает печать надстрочных знаков. Turns superscript printing on or off.
&Y &Y Включение или отключение печати подстрочных индексов. Turns subscript printing on or off.
&B &B Включает или выключает печать полужирным шрифтом. Turns bold printing on or off.
&I &I Включает или выключает печать курсивом. Turns italic printing on or off.
&U &U Включает или выключает печать подчеркивания. Turns underline printing on or off.
&S &S Включает или выключает печать текста с зачеркиванием. Turns strikethrough printing on or off.
& "FontName" &"fontname" Печать символов, которые следуют за указанным шрифтом. Prints the characters that follow in the specified font. Не забудьте включить двойные кавычки. Be sure to include the double quotation marks.
&NN &nn Печатает символы, которые следуют за указанным размером шрифта. Prints the characters that follow in the specified font size. Используйте двузначное число, чтобы указать размер в пунктах. Use a two-digit number to specify a size in points.
Цвет & &color Печатает символы указанного цвета. Prints the characters in the specified color. Пользователь предоставляет шестнадцатеричное значение цвета. User supplies a hexadecimal color value.
& "+" &"+" Печать символов, которые следуют за шрифтом заголовка текущей темы. Prints the characters that follow in the Heading font of the current theme. Не забудьте включить двойные кавычки. Be sure to include the double quotation marks.
& "—" &"-" Печать символов, которые следуют за шрифтом текста текущей темы. Prints the characters that follow in the Body font of the current theme. Не забудьте включить двойные кавычки. Be sure to include the double quotation marks.
&K XX. &K xx. S nnn S nnn Печатает символы, которые следуют за указанным цветом, из текущей темы. Prints the characters that follow in the specified color from the current theme.
Читайте также:  1С копия базы или оригинал как сменить

XX — это двузначное число от 1 до 12, которое указывает цвет темы для использования. xx is a two-digit number from 1 to 12 that specifies the theme color to use.

S nnn задает затенение (оттенок) цвета темы. S nnn specifies the shade (tint) of that theme color. Укажите S как +, чтобы создать более светлую тень; Укажите " S ", чтобы создать темную тень. Specify S as + to produce a lighter shade; specify S as — to produce a darker shade.

nnn это целое число из трех цифр, которое определяет процент от 0 до 100. nnn is a three-digit whole number that specifies a percentage from 0 to 100.

Если значения, задающие цвет или затенение темы, не превышают указанные пределы, Excel будет использовать ближайшее допустимое значение. If the values that specify the theme color or shade are not within the described limits, Excel will use the nearest valid value.

VBA code VBA code Описание Description
&D &D Печатает текущую дату. Prints the current date.
&T &T Печатает текущее время. Prints the current time.
&F &F Печатает имя документа. Prints the name of the document.
&A &A Печатает имя вкладки книги. Prints the name of the workbook tab.
&P &P Печать номера страницы. Prints the page number.
&P + Number &P+number Печать номера страницы и указанного числа. Prints the page number plus the specified number.
&P — номер &P-number Печатает номер страницы за вычетом указанного числа. Prints the page number minus the specified number.
&& Печатает один амперсанд. Prints a single ampersand.
&N &N Печатает общее количество страниц в документе. Prints the total number of pages in the document.
&Z &Z Печатает путь к файлу. Prints the file path.
&G &G Вставляет изображение. Inserts an image.

Пример Example

В приведенном ниже коде показано, как можно использовать форматирование и коды VBA для изменения сведений и внешнего вида заголовка. The following code shows how formatting and VBA codes can be used to modify the header information and appearance.

Читайте также:  Расширение pla чем открыть

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Всем привет, с вами автор блога scriptcoding.ru. В данной статье мы рассмотрим коллекцию HeadersFooters и ее объекты HeaderFooter, которые отвечают за редактирование или создание колонтитулов в Word документе.

Важной особенностью при работе с коллекцией HeadersFooters является то, что она содержит в себе не количество классов HeadersFooter для каждой страниц (то есть, если у нас 30 статей в разделе, то это не означает, что у нас 30 колонтитулов в ворде), а количество возможных параметров при работе с колонтитулами в Word, поясню….

В самом документе мы можем вставить верхний колонтитул в ворде или нижний колонтитул в ворде, которые будет отображаться на всех страницах, это понятно. Далее, мы можем указать, что бы для четных и нечетных отображались разные колонтитулы. И, мы можем указать индивидуальный колонтитул для первой страницы Word.

Для доступа к коллекции HeadersFooters используются свойства Headers или Footers, которые указывают: с верхним или с нижним колонтитулом в ворде мы хотим работать . Данные свойства есть у объекта Section, который позволяет обрабатывать нужный раздел. Напомню, что в документ можно вставить несколько разделов, которые будут содержать статьи, обрабатываемые в индивидуальном порядке.

  • Если мы хотим указать, что нужно создавать разные колонтитулы в Word для четных и нечетных, то свойству OddAndEvenPagesHeaderFooter объекта PageSetup нужно присвоить значение true.
  • Если надо создать колонтитул в ворде, который будет уникальным для первой статьи, то свойству DifferentFirstPageHeaderFooter объекта PageSetup присваивается значение true.

Сам процесс создания верхних и нижних колонтитулов в документе Word я рассмотрю в конце статьи, а пока, рассмотрим методы и свойства коллекции HeadersFooters и класса HeaderFooter.

Коллекция HeadersFooters — колонтитулы в ворде

Свойства – верхний колонтитул в ворде

Application — Возвращает объект Application, представляющий приложение Microsoft Word.

Count – Возвращает количество объектов HeaderFooter, данное значение фиксировано и равно 3, так как можно задать три параметры при добавлении колонтитулов в ворд.

Методы – нижний колонтитул в ворде

Item (index) – Позволяет получить доступ к объекту HeaderFooter по его номеру в коллекции.

Читайте также:  Получить список пользователей домена

Index – Данный параметр содержит значения константы WdHeaderFooterIndex:

  • wdHeaderFooterEvenPages — 3 — Все к-тулы, даже на пронумерованных статьях.
  • wdHeaderFooterFirstPage — 2 — Первый к-тул в документе или разделе.

Тут стоит дать некоторое пояснение…. Если вы хотите добавить колонтитулы в Word на все страницы, то для параметра index указывайте значение 3. Если вы хотите создать колонтитулы в ворд индивидуально для четных и нечетных, то указывайте значение 1 для нечетных и 3 для четных, предварительно, нужно использовать свойство OddAndEvenPagesHeaderFooter объекта PageSetup . Если вы хотите указать Word колонтитул только для первой страницы раздела, то используйте значение 2, прописав перед этим свойство DifferentFirstPageHeaderFooter объекта PageSetup .

Класс HeaderFooter – колонтитулы в Word

Объект HeaderFooter содержит в своем арсенале только свойства.

Свойства – работа с колонтитулами в Word

Application — Возвращает объект Application, представляющий приложение Microsoft Word.

Exists – Значение true, если указанный объект HeaderFooter существует. Чтение и запись.

Index – Свойство возвращает значение константы WdHeaderFooterIndex (смотрите выше), которая представляет указанный Word колонтитул в документе или разделе. Только чтение.

IsHeader – Значение true, если указанный HeaderFooter является верхним колонтитулом в ворде и значение false – если нижним колонтитулом в ворде. Только чтение.

LinkToPrevious — Значение true, если указанный колонтитул в Word связан с соответствующим к-тулом в предыдущем разделе. Чтение и запись.

PageNumbers — Возвращает коллекцию PageNumbers, которая представляет все номера страницы, входящие в указанный верхний или нижний колонтитул в ворд.

Range — Возвращает объект Range, представляющий часть документа, которая содержится в указанных колонтитулах Word.

Shapes — Возвращает коллекцию Shapes, представляющую все объекты Shape в нижнем или верхнем колонтитуле в ворд.

Хорошо, теперь, как я и обещал, мы рассмотрим два сценария на языке VBScript и JScript сервера сценариев Windows Script Host, а после, я дам пояснения того, как они работают.

Пример на языке VBSCRIPT:

Пример на языке JSCRIPT:

В данных примерах все довольно просто, мы создаем новый документ, добавляем в него текст и создаем колонтитулы в Word для четных, нечетных страниц и для первой страницы. Обратите внимание, что через свойство Range мы получаем доступ к остальным классам, которые позволяют вставить текст. При желании, вы можете усложнить программный код, добавив выравнивание текста и прочие параметры форматирования.

Спасибо за внимание. Автор блога Владимир Баталий

Советую ещё почитать:

  • Коллекция Word PageNumbers и объекты PageNumber — нумерация страниц в ворде
  • В ожидании повышения посещаемости сайта и роста позиций.
  • VBScript: Остановка процесса из командной строки
  • Пример скрипта "Электронные часы"
  • Spiro – ещё один графический онлайн редактор для рисования

Оцените статью
Добавить комментарий