Kniga-Online.club

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

Читать бесплатно Андрей Попов - Windows Script Host для Windows 2000/XP. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

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

 PathTempl, //Путь к документу-шаблону

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

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

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

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

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

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

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

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

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

function InitPath() {

В var BasePath;

В BasePath=WshShell.CurrentDirectory+"\";

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

В PathBook=BasePath+"book.xml",

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

В PathOut=BasePath+"out.doc";

 //Путь к документу-шаблону

В PathTempl=BasePath+"table.dot";

}

//Конструктор объекта 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;

 //Создаем коллекцию дочерних для 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);

В }

}

//Печать содержимого полей объекта 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:

Перейти на страницу:

Андрей Попов читать все книги автора по порядку

Андрей Попов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Windows Script Host для Windows 2000/XP отзывы

Отзывы читателей о книге Windows Script Host для Windows 2000/XP, автор: Андрей Попов. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*