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

Тут можно читать онлайн Андрей Попов - Windows Script Host для Windows 2000/XP - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство БХВ-Петербург, год 2004. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Windows Script Host для Windows 2000/XP
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2004
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-197-6
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание

Windows Script Host для Windows 2000/XP - описание и краткое содержание, автор Андрей Попов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)

Windows Script Host для Windows 2000/XP - читать книгу онлайн бесплатно, автор Андрей Попов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Перейдем теперь к рассмотрению сценария ListWordTable.js, который создает на основе шаблона table.dot файл out.doc и заполняет таблицу в этом файле данными из записной книжки book.xml (рис. 8.5).

Основной функцией в этом сценарии является, как обычно, функция Main(). Здесь сначала вызывается функция InitPath()для определения путей к файлам book.xml (переменная PathBook), out.doc (переменная PathOut) и table.dot (переменная PathTempl), после чего создается экземпляр объекта Word.Application:

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

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

Для создания нового документа на основе шаблона Table.dot мы указываем путь к этому шаблону в качестве аргумента метода Add()семейства Documents:

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

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

Окно Word делается видимым и максимизируется:

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

WA.Visible=true;

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

WA.WindowState=wdWindowStateMaximize;

В переменной Selсохраняется ссылка на объект Selection:

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

Sel=WA.Selection;

Как и в сценарии ListWord.js, данные из файла book.xml считываются в массив PersonArrс использованием объектной модели XML DOM. Вывод информации из этого массива в строки таблицу происходит в функции ListPersonArray():

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

function ListPersonArray() {

var i;

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

PersonArr.sort(SortLastName);

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

WD.Bookmarks("TableStart").Select();

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

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

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

PrintPerson(PersonArr[i]);

}

}

Как мы видим, сначала в этой функции в семействе Bookmarksнаходится закладка с именем "TableStart" и с помощью метода Select()происходит выделение этой закладки в документе. Затем в цикле forвызывается функция PrintPerson( PersReс )для каждого элемента массива PersonArr; в этой функции содержимое полей объекта PersRecпоследовательно печатается в ячейки таблицы:

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

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

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

WA.Selection.MoveRight(wdCell);

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

NomRec++;

}

Итак, печать в таблице происходит следующим образом: после вывода текста в текущую ячейку мы перемещаемся в соседнюю ячейку справа (константа wdCellпроинициализирована в самом начале сценария, wdCell=12):

WA.Selection.MoveRight(wdCell);

Если при этом текущая ячейка находилась в третьем столбце, то после такого перемещения в таблицу автоматически будет добавлена новая строка.

После того как все строки в таблице напечатаны, в файл выводится итоговая информация. Для этого мы выделяем закладку с именем "NomRec" и печатаем туда количество элементов в массиве PersonArr:

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

WD.Bookmarks("NomRec").Select();

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

WA.Selection.Text=PersonArr.length;

Окончательно сформированный файл сохраняется на диске под именем out.doc:

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

WD.SaveAs(PathOut);

Полностью текст сценария ListWordTable.js приведен в листинге 8.2.

Листинг 8.2. Вывод данных из XML-файла в таблицу Microsoft Word

/*******************************************************************/

/* Имя: ListWordTable.js */

/* Язык: JScript */

/* Описание: Печать данных из записной книжки в таблицу */

/* Microsoft Word */

/*******************************************************************/

//Объявляем переменные

var

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

BasePath, //Путь к текущему каталогу

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

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-й элемент

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


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

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




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x