Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
VBA содержит встроенные или стандартные функции, например, sqr, cos или chr. Кроме того, с помощью оператора Function можно писать собственные процедуры Function. Эти функции называют нестандартные или пользовательскими.
Синтаксис процедуры Function таков:
[Private|Public][Static]Function <имя процедуры> (<аргументы>) [As type <имя типа>] <операторы> End FunctionПриведем конкретный пример:
Funcstion toint(b As String) As IntegerDim i As Integer, l As Integer, k As Integer, j As Integerl = Len(b): i = 0For k = l To 1 Step -1j = CInt(Mid(b, k, 1))i = i + j * 2 ^ (l - k)Nexttoint = iEnd FunctionКак и процедура Sub, процедура Function является самостоятельной и может принимать параметры, выполнять ряд операторов и изменять значения своих параметров. В отличие от процедуры Sub, имя процедуры Function может возвращать значение в вызывающую процедуру. Существуют три различия между процедурами Sub и Function:
- Возвращаемое процедурой Function значение присваивается самому имени <имя процедуры> процедуры. Возвращаемое процедурой Function значение можно использовать в выражениях в программе.
- Как и переменные процедуры Function имеют тип, который определяет тип возвращаемого значения. (В отсутствие ключевого слова As в операторе определения процедуры ей назначается по умолчанию тип variant.)
- Вызов процедуры Function, или просто функции, в основном осуществляется заданием ее имени и параметров в правой части большого оператора или в составе выражения.
Вот, например, функция, вычисляющая гипотенузу прямоугольного треугольника при заданных катетах:
Function Hypotenuse (A As Integer, В As Integer) As String
Hypotenuse = Sqr(A^2 + В^2)
End Function
В VBA процедура Function вызывается точно так же, как и любая встроенная функция:
strX = Hypotenuse(Width, Height)
Дата публикования: 2014-11-28; Прочитано: 220 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!