Чтение онлайн

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

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

 XML = WScript.CreateObject("Msxml.DOMDocument");

 //Загружаем XML-документ из файла

 XML.load(PathBook);

 //Сохраняем в переменной Root ссылку на корневой элемент документа

 Root=XML.documentElement;

 //Перебираем все дочерние элементы первого уровня вложенности

 //для корневого элемента

 for (i=1; i<=Root.childNodes.length-1;i++) {

//Выделяем в коллекции XML-элементов i-й
элемент

CurrNode=Root.childNodes.item(i);

//Добавляем новый элемент в массив объектов Person

PersonToArray(CurrNode);

 }

}

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

function PrintPerson(PersRec) {

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

 WA.Selection.Text=PersRec.LastName;

 //Переходим к следующей ячейке таблицы

 WA.Selection.MoveRight(wdCell);

 WA.Selection.Text=PersRec.Phone;

 WA.Selection.MoveRight(wdCell);

 WA.Selection.Text=PersRec.Note;

 if (NomRec<PersonArr.length-1)

//Если напечатаны еще не все записи, то нужно

//добавить в таблицу новую строку

WA.Selection.MoveRight(wdCell);

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

 NomRec++;

}

//Сортировка массива и печать его содержимого

function ListPersonArray {

 var i;

 //Сортировка массива по фамилии

 PersonArr.sort(SortLastName);

 //Переходим к закладке TableStart

 WD.Bookmarks("TableStart").Select;

 //Цикл по всем элементам массива PersonArr

 for (i=0;i<=PersonArr.length-1;i++) {

//Печать информации для текущей записи

PrintPerson(PersonArr[i]);

 }

}

//Функция для сортировки массива по фамилии

function SortLastName(Pers1,Pers2) {

 if (Pers1.LastName<Pers2.LastName) return -1;

 else if (Pers1.LastName==Pers2.LastName) return 0;

 else return 1;

}

//Печать содержимого файла с данными

function ListFile {

 //Считываем данные из файла в массив

 FileToArray;

 //Печатаем информацию из массива

 ListPersonArray;

}

//Основная запускная функция

function Main {

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

 WshShell = WScript.CreateObject("WScript.Shell");

 //Определяем пути к файлам

 InitPath;

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

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

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

 WD=WA.Documents.Add(PathTempl,false);

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

 WA.Visible=true;

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

 WA.WindowState=wdWindowStateMaximize;

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

 Sel=WA.Selection;

 //Выводим в таблицу содержимое файла с данными

 ListFile;

 //Выделяем закладку "NomRec"

 WD.Bookmarks("NomRec").Select;

 //Печатаем итоговую информацию

 WA.Selection.Text=PersonArr.length;

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

 WD.SaveAs(PathOut);

}

/******************* Начало **********************************/

Main;

/************* Конец *********************************************/

Вывод данных из записной книжки в таблицу Microsoft Excel

Напишем сценарий, который будет создавать файл (рабочую книгу) Microsoft Excel и заносить туда данные из записной книжки (рис. 8.10).

Рис. 8.10. Рабочая книга Microsoft Excel с данными из файла book.xml

Для того чтобы использовать определенные в Excel именные константы без их предварительной инициализации (как мы это делали в сценариях, работающих с Word), наш сценарий будет представлять собой WS-файл ListXLS.wsf, в котором мы определим с помощью тега

<reference>
ссылку на объект
Excel.Sheet
:

<reference object="Excel.Sheet"/>

Основная функция сценария

Main
как всегда начинается с создания объекта
WshShell
и вызова функции
InitPath
, в которой определяется путь к файлу с данными book.xls и выходному файлу out.xls:

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

WshShell = WScript.CreateObject("WScript.Shell");

//Определяем пути к файлам

InitPath;

Для того чтобы запустить Excel и получить доступ к его интерфейсам, нужно создать экземпляр объекта

Excel.Application
(переменная
XL
):

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

XL=WScript.CreateObject("Excel.Application");

Чтобы визуально контролировать процесс вывода информации, окно Excel мы сделаем видимым:

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

XL.Visible=true;

Для создания в Excel нового файла (рабочей книги) используется метод

Add
семейства
Workbooks
:

//Открываем новую рабочую книгу

XL.WorkBooks.Add;

Поделиться с друзьями: