Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Процедура Sub
— это ряд инструкций Visual Basic, заключенных в Sub
инструкции и End Sub
инструкции. Процедура Sub
выполняет задачу, а затем возвращает управление вызывающему коду, но не возвращает значение вызывающему коду.
Каждый раз, когда процедура вызывается, выполняются ее инструкции, начиная с первой исполняемой инструкции после инструкции Sub
и заканчивая первой инструкцией End Sub
, Exit Sub
, или Return
.
Процедуру Sub
можно определить в модулях, классах и структурах. По умолчанию это Public
означает, что вы можете вызывать его из любого места в приложении с доступом к модулю, классу или структуре, в которой он определен. Термин метод описывает Sub
или Function
процедуру, к которой можно получить доступ за пределами определяющего модуля, класса или структуры. Дополнительные сведения см. впроцедур
Процедура Sub
может принимать аргументы, такие как константы, переменные или выражения, передаваемые в него вызывающим кодом.
Синтаксис объявления
Синтаксис объявления Sub
процедуры выглядит следующим образом:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Можно modifiers
указать уровень доступа и сведения о перегрузке, переопределении, совместном использовании и скрытии. Дополнительные сведения см. в подразделе "Вложенный оператор".
Объявление параметров
Вы объявляете каждый параметр процедуры аналогично объявлению переменной, указывая имя параметра и тип данных. Кроме того, можно указать механизм передачи, а также указать, является ли параметр необязательным или массивом параметров.
Синтаксис для каждого параметра в списке параметров выглядит следующим образом:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Если параметр является необязательным, необходимо также указать значение по умолчанию в рамках его объявления. Синтаксис для указания значения по умолчанию выглядит следующим образом:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Параметры как локальные переменные
Когда элемент управления передается в процедуру, каждый параметр рассматривается как локальная переменная. Это означает, что его время существования совпадает с временем действия процедуры, и ее область является всей процедурой.
Синтаксис вызова
Вы вызываете процедуру Sub
явным образом с помощью автономной инструкции вызова. Его нельзя вызывать с помощью его имени в выражении. Необходимо указать значения для всех аргументов, которые не являются необязательными, и необходимо заключить список аргументов в скобки. Если аргументы не указаны, можно также опустить круглые скобки. Использование ключевого Call
слова является необязательным, но не рекомендуется.
Синтаксис вызова Sub
процедуры выглядит следующим образом:
[Call] SubName[(argumentlist)]
Вызов метода Sub
можно осуществить извне класса, который его определяет. Сначала необходимо использовать New
ключевое слово для создания экземпляра класса или вызова метода, возвращающего экземпляр класса. Дополнительные сведения см. в разделе "Новый оператор". Затем можно использовать следующий синтаксис для вызова Sub
метода в объекте экземпляра:
object.MethodName[(argumentList)]
Иллюстрация объявления и вызова
Sub
Следующая процедура сообщает оператору компьютера, какой задачей будет выполняться приложение, а также отображает метку времени. Вместо дублирования этого кода в начале каждой задачи приложение просто вызывает tellOperator
из различных мест. Каждый вызов передает строку в аргументе task
, который определяет запущенную задачу.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
В следующем примере показан типичный вызов tellOperator
.
tellOperator("file update")