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

       

Структура модуля. Окно проекта и Окно кода


Модули VBA имеют очень простую синтаксическую структуру. В отличие от большинства языков программирования здесь нет большого числа разделов, нет разделения на интерфейс и реализацию. Все сделано предельно просто. Каждый модуль вне зависимости от его типа имеет всего два раздела:

  • Раздел объявлений переменных уровня модуля. Этот раздел идет первым и автоматически отделяется чертой от раздела методов. Всегда можно добавить новое объявление переменной в этот раздел. Область действия таких переменных распространяется на весь модуль, но она может быть и расширена. Подробно об этом мы поговорим чуть позже.
  • Раздел методов модуля. В этом разделе располагаются процедуры и функции. С точки зрения синтаксиса ничего другого кроме процедур и функций в этом разделе быть не может. Конечно, есть, в том числе, и синтаксическая разница между макросом, методом - обработчиком события и, например, методом, представляющим процедуру с параметрами общего назначения. Тем не менее, метод это всегда либо процедура (Sub) либо функция (Function).

Но коль скоро зашла речь о классификации методов, то давайте уточним определения некоторых, часто встречающихся понятий. Начнем с понятия "макрос". Под макросом мы будем понимать любую процедуру без параметров. Отсутствие параметров это главный отличительный признак макроса. Чаще всего, о макросах идет речь в следующих контекстах:

  • Макрос - это результат работы Macrorecoder.
  • Макрос - это обработчик события элементов командной панели - команд меню, командных кнопок, всего того, что входит в коллекцию элементов объекта CommandBar.
  • Особый случай составляют макросы Access. Наше определение к ним не относится, и мы всегда будем специально оговариваться, когда речь будет идти о таких макросах.

Элементы командной панели имеют по существу одно событие и один метод, вызываемый в ответ на появление события. Этот метод, обрабатывающий событие, мы называем макросом. Но есть и другие объекты, у которых много событий и соответственно много методов, вызываемых в ответ на возникновение того или иного события. Такие методы мы называем обработчиками событий. Обработчики событий, как правило, макросы, но иногда они могут иметь параметры. Есть еще одно существенное ограничение, накладываемое на правило построения имени обработчика. Имя является двойным и составляется из имени объекта и имени события. Два имени разделяются (объединяются) знаком подчеркивания.



Содержание раздела