Коллекция 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' ----------------------------------------------------------------------------OptionExplicit dim oWord, oDoc, oSel, i, MyText, Msg Set oWord = CreateObject("Word.Application") ' создаем ссылку на приложение WordSet oDoc = oWord.Documents' формируем ссылку на коллекцию DocumentsoDoc.Add() ' добавляем документ в коллекциюSet oSel = oWord.Selection ' ссылка на класс SelectionoWord.Visible = True' делаем документ видимым MyText = "задаем параметры ворд страницы. " ' добавляем текст в документFor i=0 to 50oSel.TypeText MyText & MyText & MyText & MyText & MyText & MyText & MyTextoSel.TypeParagraph 'вставляем параграфNext ' выводим параметры ворд страницыWith oDoc(1).Windows(1).Panes(1) Msg = .Pages.Count & vbCrLf Msg = Msg & .Pages(2).Height & vbCrLf Msg = Msg & .Pages(2).WidthEndWith MsgBox Msg

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

// ----------------------------------------------------------------------------// Коллекция Pages и класс Page// Настройка параметров страницы в ворде// Pages.js// ----------------------------------------------------------------------------var oWord1, oDoc1, oSel1, i, MyText1, Msg1; oWord1 = WScript.CreateObject("Word.Application");// создаем ссылку на приложение WordoDoc1 = oWord1.Documents;// формируем ссылку на коллекцию DocumentsoDoc1.Add();// добавляем документ в коллекциюoSel1 = oWord1.Selection;// ссылка на класс SelectionoWord1.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 раз. Тем самым, мы создаем несколько страниц в документе.

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

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