Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

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

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

При вставке новой процедуры с использованием команды Insert-Procedure (см. рис. 2.5.) в окне кода автоматически появляются команды начала и окончания процедуры (функции) – достаточно в диалоге задать название новой процедуры и выбрать ее тип.

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

Запомните

  • При любом способе выхода из процедуры управление передается оператору, следующему за командой вызова процедуры.

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

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

Оператор объявления процедуры присваивает ей имя и перечисляет формальные параметры процедуры. Синтаксис

[Private|Public][Static] Sub name ([arglist])

  • Private или Public (указывается одно из двух) определяют область видимости процедуры:

  • Private определяет, что процедура доступна только в том модуле, в котором она объявлена;

  • Public объявляет процедуру доступной во всех модулях текущего проекта и во всех модулях любого проекта, связанного с данным. Это означает, что процедура может быть вызвана из любой процедуры любого модуля.

Важно

  • Если в модуле присутствует инструкция Option Private, то процедуры, размещенные в этом модуле, не доступны вне проекта.

  • Если Private и Public опущены, то процедура считается общедоступной – Public.

  • Static указывает, что все локальные переменные процедуры сохраняют свои значения между вызовами процедуры.

  • name – имя процедуры, удовлетворяющее стандартам на имена в языке VB. Имя процедуры должно быть уникальным в пределах модуля.

  • arglist – список формальных параметров. В списке перечисляются переменные, обозначающие параметры, передаваемые процедуре при вызове. Элементы списка разделяются символом запятая (,). Список параметров необязателен. При отсутствии параметров после имени процедуры следуют открывающая и закрывающая скобки.

Синтаксис объявления функции

Оператор объявления функции присваивает ей имя, перечисляет ее параметры и устанавливает тип возвращаемого значения. Синтаксис

[Private|Public][Static] Function name ([arglist]) [As Type]

Объявление функции отличается от объявления процедуры использованием ключевого слова Function вместо Sub и возможным наличием типа Type возвращаемого функцией значения, который является необязательным в объявлении функции.

Важно

  • Определение типа передаваемого значения позволяет повысить эффективность программы.

  • Если тип возвращаемого значения не указан, то VBA трактует его как Variant.