Процедуры

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

Синтаксис:

[Private | Public] [Static] Sub Имя [(СписокАргументов)]

[инструкции]

[Exit Sub]

[инструкции]

End Sub

Элементы описания:

Public Указывает, что процедура Sub доступна для всех других процедур во всех модулях
Private Указывает, что процедура Sub доступна для других процедур только того модуля, в котором она описана
Static Указывает, что локальные переменные процедуры sub сохраняются в промежутках времени между вызовами этой процедуры
Имя Имя процедуры sub, удовлетворяющее стандартным правилам именования переменных
СписокАргументов Список переменных, представляющий аргументы, которые передаются в процедуру Sub при ее вызове. Имена переменных разделяются запятой
Инструкции Любая группа инструкций, выполняемых в процедуре Sub

Инструкция Exit Sub приводит к немедленному выходу из процедуры Sub.

Синтаксис элемента СписокАргументов:

[Optional] [ByVal | ByRef] [ParamArray] имяПеременной[()] _

[As тип] [= поУмолчанию]

Optional Ключевое слово, указывающее, что аргумент не является обязательным. При использовании этого элемента все последующие аргументы, которые содержатся в списке СписокАргументов, также должны быть необязательными и описаны с помощью ключевого слова optional. Все аргументы, описанные как optional, должны иметь тип variant. He допускается использование ключевого слова optional для любого из аргументов, если использует­ся ключевое слово ParamArray
ByVal Указывает, что этот аргумент передается по значению.
ByRef Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в VBA по умолчанию
ParamArray Используется только в качестве последнего элемента в списке СписокАргументов для указания, что конечным аргументом является описанный как optional массив значений типа Variant. Ключевое слово ParamArray по­зволяет задавать произвольное количество аргументов. Оно не может быть использовано со словами ByVal, ByRef или Optional
имяПеременной Имя переменной, удовлетворяющее стандартным правилам именования переменных
тип Тип данных аргумента, переданного в процедуру; под­держиваются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (ТОЛЬКО строки переменной длины), object, Variant. Если отсутствует ключевое слово optional, могут быть также указаны определяемый пользователем тип или объектный тип
поУмолчанию Любая константа или выражение, дающее константу. Используется только вместе с параметром optional. Если указан тип object, единственным значением по умолчанию может быть значение Nothing

Приведенный ниже синтаксис описывает имя, аргументы и текст программы, составляющие тело процедуры Function. Синтаксис:

[Public | Private] [Static] Function Имя [(СписокАргументов)] [As Тип]

[Инструкции]

[Имя = Выражение]

[Exit Function]

[Инструкции]

[Имя = Выражение]

End Function

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

Процедура Function вызывается в выражении по своему имени, за которым список аргументов в скобках. Для возврата значения из функции следует присвоить значение имени функции. Любое число таких инструкций присвоения может находиться в любом месте процедуры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: