Вызов процедур Sub

Просмотр существующих процедур

Создание новых процедур

Общие процедуры

Общая процедура указывает приложению, как выполнять конкретную задачу. Однажды определенная, она должна каждый раз специально вызываться приложением. В противоположность ей процедура обработки события после вызова остается в состоянии ожидания событий, вызванных пользователем или инициированных системой.

Зачем надо создавать общие процедуры? Одна причина заключается в том, что нескольким разным процедурам обработки событий может потребоваться выполнить одни и те же действия. Общие операторы помещают в отдельную процедуру (общую процедуру), а в процедуры обработки событий помещают вызовы этой процедуры. Это исключает дублирование кода и облегчает поддержку приложения.

Для создания новой общей процедуры следует в окне кода набрать на клавиатуре заголовок процедуры и нажать клавишу Enter. Заголовок процедуры состоит из слова Sub или Function, за которым следует имя процедуры. Например:

Sub UpdateForm () Function GetCoord ()В результате VBA заполняет шаблон для новой процедуры, т.е. дописывает строку End Sub или End Function, например:Sub UpdateForm()...End Sub.

Чтобы просмотреть процедуру в текущем модуле:

" Существующую общую процедуру можно увидеть, выбрав элемент (General) в списке Object в окне кода и затем процедуру в списке Procedure " Существующую процедуру обработки события можно увидеть, выбрав соответствующий объект в списке Object в окне кода и затем процедуру в списке Procedure

Чтобы просмотреть процедуру в другом модуле, следует:

1. Выбрать команду Object Browser (Просмотр объектов) меню View (Вид).

2. Выбрать проект в списке Project/Library (Проект/Библиотека).

3. Выбрать модуль в списке Classes (Классы) и процедуру в списке Members of (Члены).

4. Выбрать опцию View Definition (Посмотреть определение).

Процедура Sub отличается от процедуры Function тем, что ее нельзя вызвать по имени в выражении. Ее вызов осуществляется в отдельном операторе. Также процедура sub, в отличие от функции, не возвращает значения. Однако, как и функция, она может изменять значения любых переменных, переданных ей в качестве параметров.

Существуют два способа вызова процедуры sub - при помощи ключевого слова Call и без него:

' Оба эти оператора вызывают процедуру Sub с именем МуРгос.

Call МуРгос (FirstArgument, SecondArgument)

МуРгос FirstArgument, SecondArgument

Заметим, что при наличии ключевого слова Call, параметры заключены в круглые скобки. Если ключевое слово Call опускается, следует опустить и скобки вокруг списка параметров.

Вызов процедур из других модулей

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

Процедуры в формах

Для вызова процедуры, находящейся во внешнем модуле, т.е. в не в том модуле, в котором находится код, из которого производится вызов процедуры, перед именем процедуры должно быть указано имя модуля, в котором находится код процедуры. К примеру, если код процедуры с именем SomeSub находится в модуле формы, названном Form1, то вызвать процедуру можно следующим оператором:

Call Form1.SomeSub(<аргументы>)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: