Поделиться через


Процедуры Sub

Обновлен: Ноябрь 2007

Процедура Sub — это последовательность операторов Visual Basic, заключенных между операторами Sub и End Sub. Процедура Sub выполняет задачу и возвращает контроль коду вызова, но она не возвращает значения в код вызова.

При каждом вызове процедуры ее операторы выполняются, начиная с первого исполняемого оператора после оператора Sub и заканчивая первым из операторов End Sub, Exit Sub или Return.

Процедуру Sub можно определять в модулях, классах и структурах. По умолчанию она является Public, что означает, что ее можно вызывать из любого места в приложении, которое имеет доступ к модулю, классу или структуре, в котором она определена. Другими словами, method описывает процедуру Sub или Function, доступ к которой осуществляется вне модуля, класса или структуры, в которой определена эта процедура. Дополнительные сведения см. в разделе Методы класса.

Процедура Sub может принимать аргументы, например константы, переменные или выражения, которые передаются ей вызывающим кодом.

Синтаксис объявления

Для объявления процедуры Sub используется следующий синтаксис:

[modifiers] Sub subname[(parameterlist)]

' Statements of the Sub procedure.

End Sub

В modifiers можно указать уровень доступа и сведения о перегрузке, переопределении, общем доступе и затенении. Дополнительные сведения см. в разделе Оператор Sub (Visual Basic).

Объявление параметра

Каждый параметр процедуры объявляется аналогично объявлению переменной: задается имя параметра и тип данных. Можно также указать механизм передачи, а также является ли параметр необязательным или массивом параметров.

Для каждого параметра в списке параметров синтаксис выглядит следующим образом:

[Optional] [ByVal | ByRef] [ParamArray] parametername As datatype

Если параметр является необязательным, необходимо также как часть объявления указать его значение по умолчанию. Синтаксис для указания значения по умолчанию выглядит следующим образом:

Optional [ByVal | ByRef] parametername As datatype = defaultvalue

Параметры как локальные переменные

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

Синтаксис вызова

Процедура Sub вызывается явным образом с помощью отдельного вызывающего оператора. Ее нельзя вызвать, указав ее имя в выражении. Необходимо задать значения всех аргументов, которые являются обязательными, причем список аргументов должен быть заключен в скобки. Если не указано никаких аргументов, скобки можно опустить (необязательно). Можно не использовать ключевое слово Call, но это не рекомендуется.

Для вызова процедуры Sub используется следующий синтаксис:

[Call] subname[(argumentlist)]

Можно вызвать метод Sub вне класса, в котором он определяется. Во-первых, необходимо использовать ключевое слово New, чтобы создать экземпляр класса, или вызвать метод, который возвращает экземпляр класса. Дополнительные сведения см. в разделе Практическое руководство. Использование ключевого слова 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.

Call tellOperator("file update")

См. также

Задачи

Практическое руководство. Вызов процедуры, которая не возвращает значение

Практическое руководство. Вызов обработчика событий в Visual Basic

Основные понятия

Процедуры в Visual Basic

Процедуры Function

Процедуры свойств

Процедуры операторов

Параметры и аргументы процедуры

Ссылки

Оператор Sub (Visual Basic)