//Выводим диалоговое окно на экран

Res=WshShell.Popup(Text,0,Title,vbOkCancel);

if (Res==vbOk) WScript.Quit(1);

else WScript.Quit(0);

/*************  Конец *********************************************/

Листинr 2.24. Выход из сценария с заданным кодом завершения (VBScript)

'*******************************************************************

' Имя: Quit.vbs

' Язык: VBScript

' Описание: Выход из сценария с заданным кодом завершения

'*******************************************************************

Option Explicit

Dim WshShell,Res,Text,Title  ' Объявляем переменные

' Создаем объект WshShell

Set WshShell = WScript.CreateObject('WScript.Shell')

Text='Выберите кнопку для завершения сценария'

Title='Диалоговое окно'

' Выводим диалоговое окно на экран

Res=WshShell.Popup(Text,0,Title,vbOkCancel)

If Res=1 Then

 WScript.Quit 1

Else

 WScript.Quit 0

End If

'*************  Конец *********************************************

Если сценарий запускался с помощью командного файла, то код выхода можно проанализировать с помощью оператора IF ERRORLEVEL.

Пример подобного ВАТ-файла приведен в листинге 2.25. Здесь сценарий Quit.js запускается с помощью команды START с ключом /WAIT, указывающим на то, что выполнение ВАТ-файла должно быть приостановлено до окончания работы Quit.js. После этого, если код завершения pавен 1 (в диалоговом окне сценария была нажата кнопка OK), происходит переход к метке :Ok и выдача с помощью команды ECHO соответствующего сообщения на экран.

Замечание

Для корректного отображения на экране символов кириллицы в BAT-файлах должна использоваться DOS-кодировка.

Если же код завершения сценария Quit.js был равен 0 (в диалоговом окне была нажата кнопка Отмена), то управление перейдет к строке

ECHO Для выхода из Quit.js была нажата кнопка Отмена

Листинг 2.25. Анализ кода выхода сценария Quit.js (Check.bat)

@ЕСНО OFF

REM **************************************************************

REM Имя: check.bat

REM Язык: BAT-файл

REM Кодировка: DOS

REM Описание: Определение кода завершения для сценария Quit.js

REM **************************************************************

@ЕСНO OFF

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');

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату