Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процедуры и функции



Основными компонентами программы на VBA являются процедуры и функции. Вот как может выглядеть процедура VBA:

Sub и мяПроцедуры (аргумент1, аргумент2,...)

операторVisualBasic1

о ператорVisualBasic2

...

End Sub

Функция отличается от процедуры тем, что ее имя выступает также в качестве переменной и используется для возвращения значения в точку вызова функции. Вот как может выглядеть функция:

Function имяФункции (аргумент1, аргумент2,...)

операторVisualBasic1

операторVisualBasic2

...

имяФункции = возвращаемоеЗначение

End Function

Для того чтобы использовать написанную вами процедуру или функцию, необходимо вызвать ее. Как же осуществляется вызов процедур и функций? Процедуру со списком аргументов можно вызвать только из другой процедуры или функции, использовав ее имя со списком фактических значений аргументов в качестве одного из операторов VBA. Функцию же можно вызвать не только с помощью отдельного оператора VBA, но и поместив ее имя со списком фактических значений аргументов прямо в формулу или выражение в программе на VBA, или, например, прямо в формулу на рабочем листе Excel. Наконец, процедура с пустым списком аргументов (т.е. командный макрос) может быть вызвана не только из другой процедуры или функции, но и с помощью комбинации клавиш быстрого вызова, команд раскрывающихся меню или кнопок панелей инструментов, а кроме того, она может быть назначена командной кнопке[ii], расположенной в диалоговом окне или просто в одном из документов Office, и в этом случае ее вызов может осуществляться щелчком по этой кнопке. Понятно, что функции или процедуры, нуждающиеся в передаче им аргументов, таким способом вызвать нельзя.

Если вызываемая процедура имеет уникальное имя и находится в том же модуле, где и вызывающая процедура, то для ее вызова достаточно указать это имя и затем задать список фактических значений аргументов, не заключая его в скобки. Второй способ вызова процедуры состоит в использовании оператора Call. Сначала идет оператор Call, затем имя процедуры, а затем список параметров, в этом случае обязательно заключенный в скобки. Функцию можно вызывать точно так же, как и процедуру, но гораздо чаще используется другой, специфический способ вызова функций: использованием ее имени с заключенным в скобки списком параметров в правой части оператора присваивания.

Вот пример вызова процедуры с передачей ей двух аргументов (константы и выражения):

CrossRC 7, i + 2

или

Call CrossRC(7, i + 2)

А вот пример вызова двух функций — Left и Mid, и использования возвращаемого ими значения в выражении:

yStr = Left(y, 1) & Mid(y, 2, 1)





Дата публикования: 2015-11-01; Прочитано: 236 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...