воскресенье, 10 февраля 2013 г.

подпрограмма function, в vba

Здесь встроенная 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

Комментариев нет:

Отправить комментарий