На этом шаге мы рассмотрим объектную модель WordBasic.
В предыдущих шагах мы рассмотрели архитектуру объекта Word.Application, а также использование этого
объекта для работы с документами. Для этого рассматривались внутренние объекты Application, их
свойства и методы. Доступ к этим объектам, их свойствам и методам в среде Delphi обеспечивается
аналогично доступу в среде программирования Visual Basic для приложения Word. Но приложение
Word имеет в своем арсенале еще одно средство для работы с документами - WordBasic.
Word.Basic и Word.Application - разные объекты, но они имеют общие черты. Их сходство
заключается в том, что они оба входят в состав приложения Word и предназначены для решения аналогичных
задач автоматизации создания документов. Word.Basic, как и Word.Application, обладает инструментом
предоставления своих возможностей внешним программам через механизм OLE Automation. Основное отличие
WordBasic от Visual Basic состоит в том, что первый предоставляет не структуру связанных объектов
со своими свойствами и методами, а набор процедур и функций, количество которых превышает 900.
Между процедурами и функциями WordBasic и Visual Basic можно провести аналогию и сравнить их
возможности, что мы и сделаем в следующих шагах. Сначала рассмотрим объектную модель WordBasic.
Структура объекта Word.Basic представлена на рисунке 1. Она проста и представляет собой набор функций и процедур,
принадлежащих корневому объекту, через который внешняя программа может получить доступ к ним.
Рис.1. Объектная модель WordBasic
Для доступа к объекту Word.Basic из приложений, созданных в Deplhi, используем библиотеку ComObj
и функцию CreateOleObject(), которая возвращает ссылку на объект. В качестве аргумента этой функции
используется строка - идентификатор объекта 'Word.Basic'. Рассмотрим следующий фрагмент исходного текста:
uses ComObj; . . . . var WB:variant; . . . . procedure TForm1.Button1Click(Sender: TObject); begin WB:=CreateOleObject('Word.Basic'); end;
Получив доступ к объекту Word.Basic, можно переходить к решению вопросов автоматизации создания документов
Word. В отличие от Visual Basic мы имеем дело с библиотекой процедур и функций, а не с четкой
структурой объекта Application. Как быть в данном случае и с чего начать? Лучше всего начать с изучения
библиотеки WordBasic и понять, как функции и процедуры этой библиотеки соотносятся со структурой
объекта Application. Откроем раздел "Справка по Visual Basic" справки по MS Word.
В этом разделе откроем подраздел "Visual Basic Equivalents for WordBasic Commands" (рисунок 2).
Рис.2. Набор команд WordBasic
На рисунке 2 слева представлены команды WordBasic, справа - объекты и методы объекта Application, выполняющие
аналогичные функции. Для детального анализа возможностей WordBasic сравним несколько его процедур и
функций, позволяющих создать или отредактировать простой документ.
На следующем шаге мы рассмотрим загрузку объекта WordBasic.