Вход/Регистрация
Windows Script Host для Windows 2000/XP
вернуться

Попов Андрей Викторович

Шрифт:

//Создаем объект Application

WA=WScript.CreateObject("Word.Application");

После запуска Word в нем создается новый пустой документ с помощью метода

Add
семейства
Documents
; ссылка на получающийся в результате экземпляр объекта
Document
сохраняется в переменной
WD
:

//Создаем новый документ

wd=WA.Documents.Add;

Так как процесс печати данных из сценария может быть довольно длительным, окно Word мы сделаем видимым и максимизируем его:

//Делаем окно Winword видимым

WA.Visible=true;

//Максимизируем окно Winword

WA.WindowState=wdWindowStateMaximize;

Для того чтобы начать печатать в окне Word, нужно получить ссылку на объект

Selection
(глобальная переменная
Sel
), который позволяет работать с выделенным текстом:

//Получаем ссылку на объект Selection

Sel=WA.Selection;

С помощью свойства

Font
объекта
Selection
мы устанавливаем размер шрифта, которым далее будет печататься текст:

//Устанавливаем размер шрифта 12 пт

Sel.Font.Size=12;
 

Теперь мы полностью готовы начать печать текста. Сначала в функции

TopReport
печатается заголовок отчета:

//Печатаем заголовок отчета

TopReport("Общий список");

Функция

TopReport(Mess)
имеет следующий вид:

//Вывод заголовка отчета

function TopReport(Mess) {

 //Устанавливаем выравнивание по центру

 Sel.ParagraphFormat.Alignment=wdAlignParagraphCenter;

 //Устанавливаем полужирный шрифт

 Sel.Font.Bold=true;

 //Выводим сообщение с переводом строки

 Sel.TypeText(Mess+"\n");

 Sel.TypeText("\n");

 //Устанавливаем выравнивание слева

 Sel.ParagraphFormat.Alignment=wdAlignParagraphLeft;

 //Отменяем полужирный шрифт

 Sel.Font.Bold=false;

}
 

Как мы видим, текст печатается с помощью метода

TypeText
, а форматируется путем изменения соответствующих свойств объекта
Selection
(которые, в свою очередь, являются объектами того или иного типа). Отметим, что именные константы, которые используются для форматирования текста, были предварительно проинициализированы в самом начале сценария:

//Инициализируем константы Winword'а

var wdAlignParagraphLeft=0, wdAlignParagraphCenter=1, wdWindowStateMaximize=1;

После выполнения функции

TopReport
в документе Word будет полужирным шрифтом с выравниванием по центру напечатана строка "Общий список", а курсор установится на две строки ниже (рис. 8.6).

Рис. 8.6. Заголовок отчета, напечатанный в сценарии ListWord.js

Далее в сценарии данные из XML-файла book.xml считываются в массив

PersonArr
с использованием объектной модели XML DOM (этот процесс был подробно описан в главе 7). Печать информации из элемента массива
PersonArr
(экземпляра объекта
Person
) производится в функции
PrintPerson(PersRec)
:

//Печать содержимого полей объекта Person

function PrintPerson(PersRec) {

 //Печатаем поля текущей записи

 TypeString("Фамилия",PersRec.LastName);

 TypeString("Имя",PersRec.Name);

 TypeString("Телефон",PersRec.Phone);

 TypeString("Улица",PersRec.Street);

 TypeString("Дом",PersRec.House);

 TypeString("Кв.",PersRec.App);

 TypeString("Заметки",PersRec.Note);

 //Печатаем разделитель с переводом строки

 Sel.TypeText("-------------------------------------\n");

 //Увеличиваем номер текущей записи

 NomRec++;

}

Здесь используется функция

TypeString(Title, Сontent)
, в которой происходит печать наклонным шрифтом названия поля (параметр
Title
) и прямым шрифтом значения этого поля (параметр
Content
):

  • Читать дальше
  • 1
  • ...
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: