Оформление функций-процедур

 

Функции-процедуры очень похожи на процедуры VBA. Основное различие между функцией-процедурой и другими процедурами, помимо того, что функции возвращают значение, а процедуры – нет, состоит в том, что вместо ключевых слов Sub и End Sub, в функции-процедуре используются ключевые слова Function и End Function.

Функция-процедура имеет следующий синтаксис:

 

Function Name([Arglist]) [As Type]

'VBA Statements

[Name = expression]

End Function

 

Каждая функция-процедура начинается ключевым словом Function,за которым следует имя функции – Name. При написании имен функций необходимо соблюдать правила: они должны начинаться с буквы, не могут содержать пробелов или каких-либо символов арифметических, логических операторов или операторов отношения и не могут дублировать ключевые слова VBA.

После имени функции следует список ее аргументов Arglist, который заключается в круглые скобки.

Туре – тип возвращаемого значения функции. Если это поле опускается, результат, который возвращает функция-процедура, имеет тип Variant.

Необязательный элемент синтаксиса Name = expression представляет присваивание функции, которое указывает, какое значение должна возвращать функция. Хотя эта часть функции является необязательной, следует всегда включать оператор присваивания в функции-процедуры. Объявление функции заканчивается ключевыми словами End Function.

Даже если функция не имеет аргументов, как VBA-функции Now, Dateи Time, в объявлении функции необходимо использовать пустые круглые скобки, например:

 

Function ThisBookName()

 

При объявлении функции-процедуры необходимо указывать имя каждого аргумента, передаваемого функции; имена аргументов в списке следует отделять друг от друга запятой и писать в соответствии с правилами, применяемыми к любому идентификатору VBA.

Имена, предоставляемые пользователем в списке аргументов, ссылаются на значение, предоставляемое в то время, когда вызывается функция, независимо от того, вызывается ли функция оператором VBA или host-приложением.

Пример 38. Простая функция-процедура LenTrim

 

Dim tstr As String

Dim test As Integer

Sub stroka()

tstr = InputBox("Введите тестируемое выражение", "Запрос задачи")

test = LenTrim(tstr)

gg = MsgBox(test, vbOKOnly, "Ответ")

End Sub

Function LenTrim(tstr)

LenTrim = Len(Trim(tstr))

End Function

 

 

 








Дата добавления: 2015-08-14; просмотров: 696;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.