Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

Windows Script Host для Windows 2000/XP - Андрей Попов

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 105 106 107 108 109 110 111 112 113 ... 175
Перейти на страницу:

//Устанавливаем размер шрифта 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):

//Вывод одного поля из записи

function TypeString(Title, Content) {

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

В Sel.Font.Italic=true;

 //Печатаем название поля

В Sel.TypeText(Title+":t");

 //Отменяем наклонный шрифт

В Sel.Font.Italic=false;

 //Печатаем содержимое поля

В Sel.TypeText(Content+"n");

}

В качестве итоговой информации в функции BottomReport(Mess) печатается общее количество записей в книжке:

//Вывод итоговой информации

function BottomReport(Mess) {

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

В Sel.Font.Bold=true;

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

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

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

В Sel.Font.Bold=false;

}

После того как вся нужная информация напечатана в документе, он сохраняется на диске с помощью метода SaveAs() объекта Document:

//Сохраняем созданный документ под именем out.doc

WD.SaveAs(PathOut);

В листинге 8.1 приводится полный текст сценария ListWord.js.

Листинг 8.1. Вывод данных из XML-файла в Microsoft Word (обычный текст)

/*******************************************************************/

/* РРјСЏ: ListWord.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Печать данных из записной книжки в                    */

/*           файл Microsoft Word                                   */

/*******************************************************************/

//Объявляем переменные

var

 WshShell,  //Экземпляр объекта WshShell

 BasePath,  //Путь к текущему каталогу

 PathBook,  //Путь к файлу с данными

 PathOut,   //Путь к выходному файлу Winword

 WA,        //Экземпляр объекта Application

 WD,        //Экземпляр объекта Document

 Sel,       //Экземпляр объекта Selection

 NomRec=0,  //Счетчик количества записей

 PersonRec, //Объект для хранения данных об одном человеке

 PersonArr; //Массив для хранения объектов PersonRec

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

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

//Построение путей к файлам

function InitPath() {

var BasePath;

В BasePath=WshShell.CurrentDirectory+"\";

 //Путь к файлу с данными

В PathBook=BasePath+"book.xml",

 //Путь к выходному файлу

В PathOut=BasePath+"out.doc";

}

//Конструктор объекта Person

function Person(LastName,Name,Phone,Street,House,App,Note) {

 this.LastName=LastName; //Фамилия

В this.Name=Name;В В В В В В В В  //РРјСЏ

 this.Phone=Phone;       //Телефон

 this.Street=Street;     //Улица

 this.House=House;       //Дом

 this.App=App;           //Квартира

 this.Note=Note;         //Примечание

}

//Определение значения тега tgName XML-элемента obj

function GetTagVal(obj, tgName) {

В var ElemList;

1 ... 105 106 107 108 109 110 111 112 113 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии