Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA встроенные функции.docx
Скачиваний:
5
Добавлен:
18.12.2018
Размер:
116.61 Кб
Скачать

3.4. Процедуры и функции

Процедура – эта наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо. Процедуры – это критические функциональные единицы VBA-программы в том смысле, что программный код (например, примеры, приведенные в пособии – см. с.26) может быть выполнен только будучи заключенный в какой –либо процедуре.

VBA распознает два основных типа процедур Sub(подпрограммы) и Function (функции). Процедуры первого типа, т.е. типа Sub (подпрограмма) в дальнейшем мы будем называть просто процедурами, а процедуры второго типа, т.е. типа Function (функции) – просто функциями.

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

Синтаксис: [Private|Public][Static]Sub Имя _

[(СписокАргументов)]

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

[Exit Sub]

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

End Sub.

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

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

Public указывает, что процедура Sub доступна для всех других процедур во всех модулях.

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

Имя удовлетворяет стандартным правилам именования переменных.

СписокАргументов – это список переменных, представляющих аргументы, которые передаются в процедуру Sub при ее вызове. Имена переменных разделяются запятой.

Инструкции – любая группа инструкций, выполняемых в процедуре Sub. Инструкция Exit Sub приводит к немедленному выходу из процедуры Sub.

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

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

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

Optional – ключевое слово, указывающее, что аргумент не является обязательным. Все аргументы, описанные как Optional, должны иметь тип Variant.

ByVal указывает, что этот аргумент передается по значению.

ByRef указывает, что этот аргумент передается по ссылке. Описание ByRef используется в VBA по умолчанию.

ParamArroy позволяет задавать произвольное количество аргументов, оно не может быть использовано со словами ByVal, ByRef или Optional.

ИмяПеременной удовлетворяет стандартным правилам именования переменных.

Тип – тип данных аргумента, переданного в процедуру; поддерживаются типы Integer, Long, Currency, Single, Double, String (только строка переменной длины), Object, Variant, Date, Byte, Boolean.

ПоУмолчанию – любая константа или выражение, дающее константу. Используется только вместе с параметром Optional. Если указан тип Object, единственным значением по умолчанию может быть значение Nothing.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]