Краткое описание инструмента и ремесла программирования. Степанов А.Г - 66 стр.

UptoLike

66
[Операторы]
[Имя=Выражение]
End Function
Ключевое слово Private означает, что процедура может быть вызвана
только из того модуля, в котором она описана (область действия переменной ).
Если указано ключевое слово Public, процедура может быть вызвана из других
процедур любых модулей. Установленный ключ Static означает, что локальные
переменные процедуры сохраняют свои значения между вызовами и могут быть
использованы в последующих вычислениях при следующем вызове процедуры
(время жизни переменной). Имя представляет собой обычный идентификатор
языка VBA. СписокАргументов представляет собой список так называемых
формальных параметров. Как и обычные переменные, формальные параметры
имеют определенный тип. Их основным отличием от обычных переменных
является то обстоятельство, что под их хранение не выделяется память
машины, а сами они используются в теле функции для указания
последовательности действий с аргументами функции. Элементы списка
формальных параметров имеют следующий формат:
[Optional] [ByVal или ByRef] [ParamArray] ИмяПеременной[()] [As Тип]
[=поУмолчанию]
Ключевое слово Optional означает, что элемент является необязательным и
должен иметь тип Variant. Все последующие элементы списка должны иметь
такой же ключ и тип. Ключ ByVal означает, что параметр передается по
значению. Если задан этот ключ, то вызывающая программа может передать в
функцию значение аргумента, однако изменить это значение функция никаким
способом не может. Этот прием защитить данные вызывающей программы и
может использоваться как основной при односторонней передаче данных. Ключ
ByRef (используется по умолчанию) указывает, что параметр передается по
ссылке. Это означает, что функции известен физический адрес памяти
формального параметра. При необходимости функция может произвести запись
по этому адресу (например, оператором присваивания). Подобный прием
оказывается удобным для возврата результатов вычислений функции в
вызывающую программу в том случае, когда оказывается
необходимым вернуть
больше одного параметра, а при использовании процедур это вообще
единственный способ возврата результатов вычислений. Ключевое слово
ParamArray может быть использовано только с последним элементом списка
формальных параметров и позволяет передавать динамически объявляемый
массив. Ключ Тип представляет собой тип передаваемого параметра (табл. 2.2),
а значение поУмолчанию может использоваться только с ключом
Optional и
задает значение переменной.
После заголовка функции следует конечное число обычных операторов
языка VBA, представляющих собой тело определения функции. Если в их
состав входит операторы объявления переменных Dim, то имеет место
объявление собственных локальных переменных функции. Если в заголовке
функции не указан ключ Static, то эти переменные не сохраняют свои значения
между вызовами и каждый раз значения в них должны записываться заново.
Кроме операторов объявления, в состав тела определения могут входить
операторы присваивания, цикла и другие. В качестве их аргументов могут
выступать как локальные переменные, константы, так и формальные
параметры. Последние выступают как полноправные участники любых