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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

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

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

}

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

function GetTagVal(obj, tgName) {

 var ElemList;

 //Создаем коллекцию дочерних для obj элементов, которые

 //задаются тегом tgName

 ElemList=obj.getElementsByTagName(tgName);

 //Проверяем, есть ли в коллекции ElemList элементы

 if (ElemList.length>0)

//Возвращаем
значение тега tgName

return ElemList.item(0).text

 else return "";

}

//Заполнение нового элемента массива

function PersonToArray(XNode) {

 //Создаем новый экземпляр PersonRec объекта Person

 PersonRec=new Person;

 //Заполняем поля объекта PersonRec

 PersonRec.LastName=GetTagVal(XNode,"LastName");

 PersonRec.Name=GetTagVal(XNode,"Name");

 PersonRec.Phone=GetTagVal(XNode,"Phone");

 PersonRec.Street=GetTagVal(XNode,"Street");

 PersonRec.House=GetTagVal(XNode,"House");

 PersonRec.App=GetTagVal(XNode,"App");

 PersonRec.Note=GetTagVal(XNode,"Note");

 //Сохраняем объект PersonRec в массиве

 PersonArr[PersonArr.length]=PersonRec;

}

//Создание массива объектов Person

function FileToArray {

 var XML,Root,NomRec,CurrNode,i;

 //Создаем массив PersonArr

 PersonArr=new Array;

 //Создаем объект 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);

 }

}

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

function TopReport {

//Печатаем в ячейки текст

 XL.Cells(1,1).Value="Фамилия";

 XL.Cells(1,2).Value="Имя";

 XL.Cells(1,3).Value="Телефон";

 //Выделяем три ячейки

 XL.Range("A1:C1").Select;

 //Устанавливаем
полужирный текст для выделенного диапазона

 XL.Selection.Font.Bold = true;

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

 XL.Selection.HorizontalAlignment=xlCenter;

}

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

function PrintPerson(PersRec) {

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

 NomRec++;

 //В первом столбце печатаем фамилию

 XL.Cells(NomRec+1,1).Value=PersRec.LastName;

 //Во втором столбце печатаем имя

 XL.Cells(NomRec+1,2).Value=PersRec.Name;

 //В третьем столбце печатаем телефон

 XL.Cells(NomRec+1,3).Value=PersRec.Phone;

}

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

function ListPersonArray {

 var i;

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

 PersonArr.sort(SortLastName);

 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

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

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

 XL.Visible=true;

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

 XL.WorkBooks.Add;

 //Устанавливаем нужную ширину колонок

 XL.Columns(1).ColumnWidth = 40;

 XL.Columns(2).ColumnWidth = 40;

 XL.Columns(3).ColumnWidth = 10;

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