Здесь встроенная Function Log (N) для значения аргумента равного 50 возвращает значение 3,91202300542815 в точку вызова Log (50) вызывающей процедуры "Sub Натуральный_логарифм ()". Функцию можно вызвать как с помощью отдельного оператора VBA, так и поместив ее имя со списком значений аргументов (параметров) в формулу или выражение в программе на VBA. В VBA для сокращения записи используется механизм вложения функций, который позволяет указывать вызов одной функции в качестве аргумента для другой функции. В этом случае возвращаемое первой функцией значение используется в качестве аргумента для следующей функции.
Для вызова функции, требующей ввода одного или нескольких аргументов, необходимо ввести в правой части оператора присваивания ее имя с заключенными в скобках параметрами (значениями аргументов). Например, для вызова встроенной Function Log (N) с одной переменной N в процедуре типа Sub переменной Log_N присвоено имя функции Log (50) со значением аргумента равного 50. Скриншот программного кода модуля представлен на рис. 3.
Встроенные функции и процедуры-функции Function вызываются одинаково. Как вставить функцию в текст программы? Чтобы использовать функцию в выражениях, необходимо ввести ее имя в оператор VBA. Для вызова встроенной функции, не требующей аргументов, достаточно ввести ее имя (например, Now) в код программы модуля (рис.2).
Функции возвращают результирующее значение вместо их имени, Результирующее значение используется в дальнейших вычислениях. Как правило, функции требуют наличия аргументов, которые записываются в скобках через запятую. Но некоторые функции не требует аргументов. Например, функция Now(), которая не требует аргументов, возвращает текущую системную дату и время. Функции можно использовать для создания новых выражений или функций.
В VBA используются как процедуры-функции Function, так и встроенные функции. Встроенные функции состоят из двух частей: имени (идентификатора) и аргументов. В VBA имеется большой набор встроенных Function. Встроенные Functions - это готовые формулы VBA, которые выполняют определенные действия над выражениями и возвращают некоторое значение в точку их вызова.
Здесь Function F1(x)=x10 для значения x=9 возвращает в вызывающую процедуру MySub () значение 3,486785E+09. Если для возвращаемого функцией значения или переменной, которая используется в процедуре VBA, не объявлен тип данных, то, по умолчанию, будет задан тип данных Variant.
Function F1(x) можно использовать в дальнейших вычислениях (программном коде модуля). Процедуру типа Function можно выполнить, только вызвав ее из другой процедуры. Для этого в вызывающей процедуре необходимо присвоить имя данной F1(x) некоторой переменной. Например, Function F1(x) можно использовать в процедуре MySub (), присвоив переменной "у" имя F1(x) . Скриншот программного кода модуля представлен на рис.1.
Function F1(x As Currency) As Currency
Например, самая простая процедура-функция Function:
Процедуры-функции Function могут быть использованы в различных выражениях.
Имя_Функции = Возвращаемое_Значение
<блок операторов>
Function Имя_Функции(аргументы As <тип>) As <тип>
Синтаксис процедуры-функции Function:
Практически весь программный код модулей VBA содержится в процедурах двух типов Sub (подпрограммы) и Function (функции). Основная задача процедуры-функции Function - это вычисление некоторого значения и возвращение его в точку вызова процедуры-функции.
Встроенные функции VBA
Основы программирования VBA
Программирование VBA в СУБД Access 2003
Встроенные функции VBA
Встроенные функции VBA | Программирование VBA в СУБД Access 2003
Комментариев нет:
Отправить комментарий