Процедуры
Процедура есть последовательность инструкций, объединeнных для выполнения. Различают процедуры обработки событий и процедуры общего назначения: процедуры Sub, Function, Property, Event. Для создания процедуры общего назначения нужно использовать область окна кода (General) (Declarations) меню Инструменты Добавить процедуру в поле выведенного диалогового окна ввести имя процедуры в поле Тип сделать щелчок на Sub сделать выбор в поле Район ОК выводятся инструкции описания процедур. Процедуры обработки событий (закрытые процедуры) являются процедурами типа Private; их можно вызвать только внутри формы. Процедуры являются общими (открытыми), если они могут быть вызваны процедурами другой формы/модуля; используется ключевое слово Public. Общая процедура должна содержаться в модуле. Вызов процедуры из другой процедуры можно выполнить одним из следующих способов: · использование имени процедуры, пример: · If kkKK > 70 Then· Proc1End If· использование вызова Call, пример: Call Proc1· если при обращении к процедуре требуются значения аргументов, то вызов может выглядеть так: Proc1 44, 56 ' два числа - это передаваемые аргументы, или: Call Proc1(44, 56) Список аргументов процедуры, при необходимости с указанием типа, размещают в скобках в строке имени процедуры, при этом в процедурах обработки событий список аргументов определeн событием и не может быть изменeн пользователем. При программировании необходимо контролировать передачу аргументов.
Передача аргументов может проводиться: по значению - ByVal (в этом случае процедуре передаeтся копия этого значения) и по ссылке - ByRef (в этом случае вызванная процедура получает адрес памяти передаваемой переменной). Инструкция в процедуре Sub/Function может передавать значения вызываемой процедуре, при этом могут использоваться именованные аргументы, которые можно перечислять в произвольном порядке. Именованный аргумент состоит из: · имени аргумента, · символов: =, · значения аргумента, пример: · Private Sub Command1_Click()· Dim x1 As Variant· MsgBox Title:="отпуск", Prompt:="Едем в отпуск в Испанию" · или· x1 = MsgBox(Title:="отпуск", _· Prompt:=" Едем в отпуск в Испанию", Buttons:=4)End Sub
|