Классификация процедур

Существуют следующие типы процедур:

· основная процедура, которая вызывает другие процедуры. Это самостоятельно используемая процедура;

· вызываемые процедуры, реализующие конкретные задачи проекта;

· процедуры обработки событий.

В качестве вызываемых процедур применяются процедуры общего типа (подпрограммы) и процедуры-функции. Функции возвращают некоторое значение в отличие от подпрограмм, которые значений не возвращают. Под понятием "функция возвращает значение" подразумевается, что в процессе выполнения функции присваивается значение, которое доступно вызвавшей ее процедуре.

Процедуры обработки событий (событийные процедуры) связаны с конкретными событиями объектов. Если установлена связь процедуры с событием объекта приложения, то процедура является событийной. Особенность событийных процедур в том, что они запускаются автоматически, если происходит некоторое событие.

Удобно написать автоматически запускаемые процедуры со специальными именами, например, Auto_Open – процедура, выполняемая при открытии документа.

Структура и объявление процедуры

Каждая процедура начинается с оператора объявления процедуры (функции) Sub (Function) и заканчивается оператором завершения процедуры (функции) End Sub (End Function). Все операторы, заключенные между этими парными операторами, составляют тело процедуры (функции).

Процедуры определяются только на модульном уровне. Внутри процедуры не может располагаться объявление другой процедуры.

Выход из процедуры обычно происходит естественным образом – при достижении оператора окончания процедуры (функции). Один или несколько операторов немедленного выхода Exit Sub (Exit Function) могут содержаться внутри процедуры (функции). При любом способе выхода из процедуры управление передается оператору, следующему за командой вызова процедуры.