Основы офисного программирования и язык VBA


Macrorecorder


Ничего удивительного в Macrorecorder нет. Его появление - естественное следствие объектно-ориентированного, событийно-управляемого и визуального программирования. Интерфейс большинства приложений теперь строится так, чтобы дать конечному пользователю как можно больше свободы выбора по управлению работой этого приложения. Пользователь "видит" объекты приложения (их образы). Он может выбирать в меню команды, может щелкнуть ту или иную кнопку, перемещать по экрану объекты, менять их размеры и другие характеристики, открывать и закрывать окна - да мало ли что может теперь делать пользователь! Его действия являются причиной событий в мире объектов. Возникает событие, - объектам посылается сообщение, - в ответ вызывается метод, обрабатывающий это сообщение.

Так возникает двойственность. Одни и те же вещи можно сделать и визуально, и программно - эффект будет один. Большинство приложений Office 2000, и в первую очередь Word и Excel, рассчитаны на визуальный способ работы с ними. Но программистов не обманешь - они-то знают, что всякий раз, когда пользователь визуально инициирует действие, вызывается программа, выполняющая это действие. Дело в том, что система следит за действиями пользователя, анализирует их и запускает программы, соответствующие этим действиям. Иначе говоря, происходит трансляция с языка действий в язык программирования. Поскольку этот язык объектный, то можно говорить, что действия пользователя (события) интерпретируются и приводят к вызову методов и изменению свойств в мире объектов. Поскольку есть интепретатор действий, то можно построить и транслятор.

Macrorecorder - это и есть транслятор. Всякий раз, когда пользователь запускает Macrorecorder, создается программа (макрос) на языке VBA, которая является результатом трансляции действий пользователя с момента запуска Macrorecorder до момента окончания записи макроса. Пользователь оперирует с образами объектов на экране, программа - с объектами Office 2000. Заметьте: одного и того же эффекта, пользователь иногда может достичь разными путями - он может вызвать команду меню или щелкнуть соответствующую кнопку или нажать комбинацию "горячих" клавиш.


Начало  Назад  Вперед



Книжный магазин