Основы программирования на VBA. Регеда В.В - 36 стр.

UptoLike

Составители: 

или блочный вариант:
DEF FNимя [(список аргументов)]
операторы
[EXIT DEF]
FNимя=выражение]
END DEF
FNимя имя присваиваемое определяемой функции (буква, за кото-
рой следует любое число букв или цифр); список аргументов не-
обязательная последовательность разделенных запятыми формальных па-
раметров (не более 16), при вызове функции им присваивается значение
соответствующих (по порядку в списке) параметров.
Оба альтернативных способа позволяют определить в программе
собственную функцию пользователя, которая затем может вызываться по
ее имени, т.е. каждый раз, когда в каком-либо операторе будет использова-
но имя, присвоенное данной функции, будет вычисляться выражение с
подстановкой в него значений аргументов, указанных при вызове.
Имена аргументов в однострочном операторе DEF FN могут совпа-
дать с именами переменных в программе, но это будут не одни и те же пе-
ременные. В выражении можно использовать переменные, не включенные
в список аргументов. Аргументы могут использоваться только в выраже-
нии, определяющем функцию. Тип значения (числовое или символьное),
которое получается при выполнении функции, определяется именем функ-
ции (по тем же правилам, что и имя переменной).
Пример:
IF FNdistance(2,3,4)<6 THEN PRINT "Точка внутри_
сферы радиуса 6"
...
REM Вычисление расстояния от точки (x,y,z)
REM до центра сферы
DEF FNdistanсe(x,y,z)=SQR (x^2+y^2+z^2)
Положение в программе определения функции несущественно, в ча-
стности, она может находиться после тех операторов, в которых она ис-
пользуется. В отличие от подпрограмм, в тело функции "попасть случай-
но" нельзя, поскольку при выполнении программы строки, в которых рас-
полагается ее определение, считаются "невидимыми".
или блочный вариант:
            DEF FNимя [(список аргументов)]
                      операторы
            [EXIT DEF]
                     FNимя=выражение]
            END DEF
      FNимя − имя присваиваемое определяемой функции (буква, за кото-
рой следует любое число букв или цифр); список аргументов − не-
обязательная последовательность разделенных запятыми формальных па-
раметров (не более 16), при вызове функции им присваивается значение
соответствующих (по порядку в списке) параметров.
      Оба альтернативных способа позволяют определить в программе
собственную функцию пользователя, которая затем может вызываться по
ее имени, т.е. каждый раз, когда в каком-либо операторе будет использова-
но имя, присвоенное данной функции, будет вычисляться выражение с
подстановкой в него значений аргументов, указанных при вызове.
      Имена аргументов в однострочном операторе DEF FN могут совпа-
дать с именами переменных в программе, но это будут не одни и те же пе-
ременные. В выражении можно использовать переменные, не включенные
в список аргументов. Аргументы могут использоваться только в выраже-
нии, определяющем функцию. Тип значения (числовое или символьное),
которое получается при выполнении функции, определяется именем функ-
ции (по тем же правилам, что и имя переменной).
      Пример:
      IF FNdistance(2,3,4)<6 THEN PRINT "Точка внутри_
      сферы радиуса 6"
          ...
      REM Вычисление расстояния от точки (x,y,z)
      REM до центра сферы
              DEF FNdistanсe(x,y,z)=SQR (x^2+y^2+z^2)
      Положение в программе определения функции несущественно, в ча-
стности, она может находиться после тех операторов, в которых она ис-
пользуется. В отличие от подпрограмм, в тело функции "попасть случай-
но" нельзя, поскольку при выполнении программы строки, в которых рас-
полагается ее определение, считаются "невидимыми".