Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Основными компонентами программы на 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!