Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование внешних объектов автоматизации (на примере Microsoft Word)





Для того чтобы из сценария получить доступ к свойствам или методам внешнего сервера автоматизации, вначале надо "создать" соответствующий объект, т. е. загрузить в память экземпляр нужного СОМ-объекта и сохранить в переменной ссылку на этот объект. Объект в сценарии может создаваться несколькими способами:

· с помощью метода createobject объекта wscript (объектная модель WSH);

· с помощью конструкции New Activexobject (язык JScript);

· с помощью функции createobject (язык VBScript).

 

В любом случае в используемый метод или функцию в качестве параметра передается программный идентификатор объекта (ProgID), заключенный в скобки. Пример на языке JScript:

 

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

To же самое на VBScript:

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

 

Перед точкой в ProgID стоит имя библиотеки типов (type library) для объекта, которая может существовать как в виде отдельного файла с расширением tlb, так и в виде части файла с исполняемым кодом объекта (библиотека типов, содержащая сведения о СОМ-объекте, регистрируется в системном реестре при установке приложения, использующего этот объект). После точки в ProgID указывается имя класса, содержащего свойства и методы, доступные для использования другими приложениями.

 

Выполняя метод CreateObject, интерпретатор сценария через ProgID получает из системного реестра путь к файлам нужной библиотеки типов. Затем с помощью этой библиотеки в память загружается экземпляр запрашиваемого объекта, и его интерфейсы становятся доступными для использования в сценарии. Ссылка на созданный объект сохраняется в переменной; в дальнейшем, используя эту переменную, мы получаем доступ к свойствам и методам объекта, а также к его вложенным объектам (если они имеются). Для примера рассмотрим, каким образом из сценария можно управлять

работой Microsoft Word, который является сервером автоматизации (см. листинги 4.26 и 4.27).

Сначала создается главный объект word.Application, который запускает

приложение Microsoft Word:

 

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



Затем создается новый пустой документ, в результате в переменную wd заносится ссылка на Объект Document:

 

WD=WA.Documents.Add();

Наконец, в переменную sel заносится ссылка на объект selection, с помощью которого можно задать тип и размер шрифта, тип выравнивания абзацев и напечатать в документе строки текста:

 

Sel=WA.Selection;

 

В результате выполнения сценариев PrintlnWord.js или PrintlnWord.vbs в новом документе Word печатаются две строки текста, после чего с помощью метода Printout объекта Document содержимое документа выводится на принтер:

 

WD.Printout();

 

Листинг 4.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(); //Выводим документ на принтер

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

 

Листинг 4.27. Использование сервера автоматизации Microsoft 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 видимым

Set Sel = WA.Selection 'Создаем объект Selection

Sel.Font.Size=14 'Устанавливаем размер шрифта

Sel.ParagraphFormat.Alignment = 1 'Выравнивание по центру

Sel.Font.Bold=true 'Устанавливаем полужирный шрифт

Sel.TypeText "Привет!" & vbCrLf 'Печатаем строку текста

Sel.Font.Bold=false 'Отменяем полужирный шрифт

Sel.ParagraphFormat.Alignment=0 'Выравнивание по левому краю

'Печатаем строку текста

Sel.TypeText "Эти строки напечатаны с помощью WSH."

WD.Printout 'Выводим документ на принтер

‘************* Конец *********************************************

 





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.