Коллекция Word Pages и объекты Page — параметры страницы в ворде

Коллекция Word Pages и объекты Page — параметры страницы в ворде Объектная модель Microsoft Word

Доброго времени суток всем подписчикам и гостям блога scriptcoding.ru. Сегодня мы рассмотрим работу с коллекцией Pages и классами Page, которые позволяют задать параметры страницы в ворде.

Если честно, когда я приступал к рассмотрению данного материала, то ожидал большого от коллекции Pages и ее объектов…. Дело в том, что у объекта Page все рассматриваемые свойства доступны только для чтения и они позволяют получить такие настройки параметров страницы в ворде, как ее ширину и высоту, а также значение левого и правого отступа. Сама коллекция Pages также скудна на методы и свойства, она дает возможность получить общее количество всех страниц в документе Word, а также, получить доступ к определенной странице. Задание параметров страницы в ворде можно также с помощью класса PageSetup — «Word PageSetup — настройка параметра страниц«.

Коллекция Pages – настройка параметров страницы в ворде

Данная коллекция содержит все страницы в документе Word. Доступ осуществляется через свойство Pages объекта Pane. Напомню, что документ Word содержит окна (смотрите статью «Word Windows и объекты Window — работа с окнами MS Word«), каждое окно содержит разделители (смотрите статью «Word Panes и объекты Pane — Разделители текста«), и получается так, что для доступа к конкретной странице нужно сформировать цепочку:документ – окно – разделитель – страница. Немного не практично, странно, что разработчики Microsoft все так запутали, ведь было бы логичней получать доступ к параметрам страницы в ворде через свойства самого объекта Document.

Свойства и методы – задание параметров страницы в ворде

задание параметров ворд страницы

Count– Содержит количество объектов Page

Item(index) – Метод позволяет получить доступ к заданной странице по ее номеру в коллекции.

Класс Page – параметры страницы в ворде

настройка параметров ворд страницы

Данный класс содержит только свойства.

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

Breaks— Возвращает коллекцию Breaks.

Rectangles— Возвращает коллекцию Rectangles.

Height— Высота страницы в пикселях.

Width– Ширина страницы в пикселях.

Left— Возвращает значение левого края страницы.

Top— Возвращает значение правого края страницы.

Как видим, теоретический материал довольно маленький, но ничего… Давайте приступим к программированию. Напишем небольшой программный код на языках VBScript и JScript, помним, что сценарии VBS и JS работают под управлением серевра Windows Script Host.

Пример на языке программирования VBScript:

' ----------------------------------------------------------------------------
' Коллекция Pages и класс Page
' Настройка параметров страницы в ворде
' Pages.vbs
' ----------------------------------------------------------------------------
Option Explicit
 
dim oWord, oDoc, oSel, i, MyText, Msg
 
Set oWord = CreateObject("Word.Application")                                 ' создаем ссылку на приложение Word
Set oDoc = oWord.Documents                                                                                                ' формируем ссылку на коллекцию Documents
oDoc.Add()                                                                                                                                                                                         ' добавляем документ в коллекцию
Set oSel = oWord.Selection                                                                                                                 ' ссылка на класс Selection
oWord.Visible = True                                                                                                                                                  ' делаем документ видимым
 
MyText = "задаем параметры ворд страницы. "
 
' добавляем текст в документ
For i=0 to 50
    oSel.TypeText MyText & MyText & MyText & MyText & MyText & MyText & MyText
    oSel.TypeParagraph                                                               '  вставляем параграф
Next
 
' выводим параметры ворд страницы
With oDoc(1).Windows(1).Panes(1)
     Msg = .Pages.Count & vbCrLf
     Msg = Msg & .Pages(2).Height & vbCrLf
     Msg = Msg & .Pages(2).Width
End With
 
MsgBox Msg

Пример на языке программирования JScript:

// ----------------------------------------------------------------------------
// Коллекция Pages и класс Page
// Настройка параметров страницы в ворде
// Pages.js
// ----------------------------------------------------------------------------
var oWord1, oDoc1, oSel1, i, MyText1, Msg1;
 
oWord1 = WScript.CreateObject("Word.Application");                                  // создаем ссылку на приложение Word
oDoc1 = oWord1.Documents;                                                                                                                                     // формируем ссылку на коллекцию Documents
oDoc1.Add();                                                                                                                                                                                                              // добавляем документ в коллекцию
oSel1 = oWord1.Selection;                                                                                                                                                      // ссылка на класс Selection
oWord1.Visible = true;                                                                                                                                                            // делаем документ видимым
 
MyText1 = "задаем параметры ворд страницы. "
 
// добавляем текст в документ
for(i=0; i<=50; i++){
    oSel1.TypeText(MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1);
    oSel1.TypeParagraph();                                                                                                                                                        //  вставляем параграф
}
 
// выводим параметры ворд страницы
with (oDoc1(1).Windows(1).Panes(1)){
     Msg1 = "Количество страниц - " + Pages.Count;
     Msg1 += "\nВысота - " + Pages(2).Height; 
     Msg1 += "\nШирина - " + Pages(2).Width;
}
 
WScript.Echo(Msg1);

Давайте проанализируем программный код приведенных примеров. Обратите внимание, что имена переменных в сценариях отличаются, так, в скрипте JS к имени переменной я добавил единицу. Вначале происходит создание ссылки на объект Word.Application, которая будет храниться в переменной oWord. Далее мы получаем доступ к коллекции Documents через переменную oDoc. Используя метод Add, мы добавляем в коллекцию Documents новый объект Document, тем самым создаем новый документ Word. Далее мы создаем ссылку на объект Selection (читайте в статье «Объект Word Selection — выделить весь текст в ворде, свойства«), которая будет храниться в переменной oSel, это нужно для того, что бы добавить нужный текст в документ. Используя свойство Visible объекта Word Application, мы делаем созданный документ видимым.

Что бы добавить текст в документ, мы используем цикл for (синтаксис для языка VBScript — «Урок 6 по VBScript: Циклы for…next и for each…next» и для JScript — «Урок 9 по JScript — оператор цикла for«), в котором происходит вставка нужной фразы и абзаца. Весь процесс происходит 50 раз. Тем самым, мы создаем несколько страниц в документе.

В самом конце сценария мы выводим параметры заданной страницы в ворде, а именно: количество всех страниц в документе, ширину и высоту заданной страницы. Стоит учитывать тот факт, что параметры всех страниц в ворд документе одинаковы, то есть, ширина и высота.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий