Windows Script Host для Windows 2000/XP
Шрифт:
//Создание массива объектов 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;
//Печатаем заголовок таблицы
TopReport;
//Печатаем содержимое файла с данными
ListFile;
//Сохраняем созданный документ под именем out.xls
XL.ActiveWorkbook.SaveAs(PathOut);
}
//Запускаем основную функцию
Main;
</script>
</job>
</package>
Глава 9
Использование в сценариях баз данных
На практике довольно часто возникают задачи, для решения которых необходимо из сценариев получать доступ к данным, хранящимся во внешних базах самого различного формата (структурированные текстовые файлы, таблицы DBF и Paradox, базы данных Microsoft Access и Microsoft SQL Server и т.д.). Это довольно просто можно сделать с помощью технологии Microsoft ADO (ActiveX Data Objects). Объекты ADO являются частью компонентов доступа к данным Microsoft (MDAC, Microsoft Data Access Components), которые поставляются, например, с браузером Microsoft Internet Explorer версии 5.0 и выше (таким образом, в Windows ХР эти компоненты присутствуют изначально) или могут быть свободно получены с сервера Microsoft .
Поделиться:
Популярные книги
Острова
5. Бронебойщик
Фантастика:
боевая фантастика
8.41
рейтинг книги
Чёрная магия (Сборник)
Шедевры фантастики
Фантастика:
фэнтези
6.40
рейтинг книги
Искатели приключений
Проза:
классическая проза
8.33
рейтинг книги
Верность
Приключения:
исторические приключения
морские приключения
5.00
рейтинг книги
Том 6 (доп.). История любовная
6. И. Шмелев. Собрание сочинений в 5 томах
Проза:
классическая проза
4.20
рейтинг книги
Вечный. Книга II
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Счастливый ребенок. Универсальные правила
Универсальные правила
Дом и Семья:
воспитание детей
здоровье детей
5.00
рейтинг книги
Ксения
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Воронцов. Перезагрузка. Книга 2
2. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Перезагрузка
6. Дитё
Фантастика:
боевая фантастика
7.62
рейтинг книги
Острова в океане
Книга на все времена
Проза:
классическая проза
6.60
рейтинг книги
Ученик афериста
Проза:
современная проза
5.00
рейтинг книги
Первый среди равных. Книга III
3. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Двенадцатая реинкарнация. Трилогия
Фантастика:
боевая фантастика
5.60