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 .
Поделиться:
Популярные книги
Отмороженный 8.0
8. Отмороженный
Фантастика:
постапокалипсис
рпг
аниме
5.00
рейтинг книги
Газлайтер. Том 14
14. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ермак. Телохранитель
2. Ермак
Фантастика:
альтернативная история
7.00
рейтинг книги
Матабар IV
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Сборник коротких эротических рассказов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Идеальный мир для Лекаря 19
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Дочь моего друга
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Свет Черной Звезды
6. Катриона
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Кодекс Крови. Книга IV
4. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 22
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Попаданка в академии драконов 4
4. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.47
рейтинг книги
Сердце Дракона. Том 12
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Лолита
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Сводный гад
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00