Андрей Попов - Windows Script Host для Windows 2000/XP
ECHO Запускаем сценарий Quit.js...
START /W Quit.js
REM Определяем код завершения для сценария Quit.js
IF ERRORLEVEL 1 GOTO :Ok
ECHO Для выхода из Quit.js была нажата кнопка Отмена
GOTO :end
:Ok
ECHO Для выхода из Quit.js была нажата кнопка Ok
:end
Рспользование внешних объектов автоматизации (РЅР° Microsoft Word)
Для того чтобы из сценария получить доступ к свойствам или методам внешнего сервера автоматизации, вначале надо "создать" соответствующий объект, т.е. загрузить в память экземпляр нужного СОМ-объекта и сохранить в переменной ссылку на этот объект. Напомним, что объект в сценарии может создаваться несколькими способами:
□ с помощью метода CreateObject объекта WScript (объектная модель WSH);
□ с помощью конструкции new ActiveXObject (язык JScript);
□ с помощью функции CreateObject (язык VBScript).
В любом случае в используемый метод или функцию в качестве параметра передается программный идентификатор объекта (ProgID), заключенный в скобки. Пример на языке JScript:
var WA=WScript.CreateObject("Word.Application");
То же самое на VBScript:
Set WA=WScript.CreateObject("Word.Application")
Перед точкой в ProgID стоит имя библиотеки типов (type library) для объекта, которая может существовать как в виде отдельного файла с расширением tlb, так и в виде части файла с исполняемым кодом объекта (библиотека типов, содержащая сведения о СОМ-объекте, регистрируется в системном реестре при установке приложения, использующего этот объект). После точки в ProgID указывается имя класса, содержащего свойства и методы, доступные для использования другими приложениями.
Выполняя метод CreateObject, интерпретатор сценария через ProgID получает из системного реестра путь к файлам нужной библиотеки типов. Затем с помощью этой библиотеки в память загружается экземпляр запрашиваемого объекта, и его интерфейсы становятся доступными для использования в сценарии. Ссылка на созданный объект сохраняется в переменной; в дальнейшем, используя эту переменную, мы получаем доступ к свойствам и методам объекта, а также к его вложенным объектам (если они имеются).
Для примера рассмотрим, каким образом из сценария можно управлять работой Microsoft Word, который является сервером автоматизации (листинги 2.26 и 2.27).
ЗамечаниеБолее подробно объектная схема Microsoft Word описывается в главе 9.
Сначала создается главный объект Word.Application, который запускает приложение Microsoft Word:
WA=WScript.CreateObject("Word.Application");
Затем создается новый пустой документ, в результате в переменную WD заносится ссылка на объект Document:
WD=WA.Documents.Add();
Наконец, в переменную Sel заносится ссылка на объект Selection, с помощью которого можно задать тип и размер шрифта, тип выравнивания абзацев и напечатать в документе строки текста:
Sel=WA.Selection;
В результате выполнения сценариев PrintInWord.js или PrintInWord.vbs в новом документе Word печатаются две строки текста (рис. 2.10), после чего с помощью метода PrintOut объекта Document содержимое документа выводится на принтер:
WD.PrintOut();
Рис. 2.10. Результат выполнения сценариев PrintInWord.js
Листинг 2.26. Рспользование сервера автоматизации Microsoft Word (JScript)/*******************************************************************/
/* РРјСЏ: PrintInWord.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Рспользование РёР· сценария внешнего объекта           */
/*          автоматизации (Microsoft Word)                       */
/*******************************************************************/
var WA,WD,Sel; //Объявляем переменные
//Создаем объект--приложение Microsoft Word
WA=WScript.CreateObject("Word.Application");
//Можно было использовать конструкцию
//WA=new ActiveXObject("Word.Application");
WD=WA.Documents.Add(); //Создаем новый документ (объект Document)
WA.Visible=true; //Делаем Word видимым
Sel=WA.Selection; //Создаем объект Selection
Sel.Font.Size=14; //Устанавливаем размер шрифта
Sel.ParagraphFormat.Alignment=1; //Выравнивание по центру
Sel.Font.Bold=true; //Устанавливаем полужирный шрифт
Sel.TypeText("Привет!n"); //Печатаем строку текста
Sel.Font.Bold=false; //Отменяем полужирный шрифт
Sel.ParagraphFormat.Alignment=0; //Выравнивание по левому краю
//Печатаем строку текста
Sel.TypeText("Рти строки напечатаны СЃ помощью WSH.");
WD.PrintOut();  //Выводим документ на принтер
/************* Конец *********************************************/
Листинr 2.27. Рспользование сервера автоматизации РњiСЃrРѕsРѕft Word (VBScript)'*******************************************************************
' РРјСЏ: PrintInWord.vbs
' Язык: VBScript
' Описание: Рспользование РёР· сценария внешнего объекта
'          автоматизации (Microsoft Word)
'*******************************************************************
Option Explicit
Dim WA,WD,Sel ' Объявляем переменные
'Создаем объект--приложение Microsoft Word
Set WA=WScript.CreateObject("Word.Application")
' Можно было использовать конструкцию
' Set WA=CreateObject("Word.Application")
Set WD=WA.Documents.Add 'Создаем новый документ (объект Document)
WA.Visible=true ' Делаем Word видимым
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Андрей Попов - Windows Script Host для Windows 2000/XP, относящееся к жанру Программное обеспечение. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.


