Sub 过程

更新:2007 年 11 月

Sub 过程是包含在 Sub 语句和 End Sub 语句中的一系列 Visual Basic 语句。Sub 过程执行一项任务,再将控制权返回给调用代码,但是不将值返回给调用代码。

每次调用过程时都执行过程中的语句,从 Sub 语句后的第一个可执行语句开始,到遇到的第一个 End Sub、Exit Sub 或 Return 语句结束。

可以在模块、类和结构中定义 Sub 过程。默认情况下,它是 Public 过程,这表示您可以从应用程序中可以访问定义该过程的模块、类或结构的任何地方调用它。术语“方法”指可从其定义模块、类或结构外进行访问的 Sub 或 Function 过程。有关更多信息,请参见类方法

Sub 过程能够带参数,如由调用代码传递给它的常数、变量或表达式。

声明语法

声明 Sub 过程的语法如下所示:

[修饰符] Sub Sub 名称[(参数列表)]

' Statements of the Sub procedure.

End Sub

modifiers 可以指定与重载、重写、共享和隐藏相关的访问级别和信息。有关更多信息,请参见 Sub 语句 (Visual Basic)

参数声明

声明每个过程参数与声明变量的方法相似,指定参数名称和数据类型。您也可以指定传递机制,以及参数或参数数组是否可选。

参数列表中每个参数的语法如下所示:

[Optional] [ByVal | ByRef] [ParamArray] 参数名称 As 数据类型

如果参数为可选项,也必须提供默认值作为其声明的一部分。指定默认值的语法如下所示:

Optional [ByVal | ByRef] 参数名称 As 数据类型 = 默认值

参数作为本地变量

当控制权传递给过程时,每个参数均被视为本地变量。这意味着其生存期与过程的生存期相同,其范围为整个过程。

调用语法

可以使用独立的调用语句来显式调用 Sub 过程。不能在表达式中使用其名称来调用它。您必须提供所有非可选参数的值,并且必须用括号将参数列表括起来。如果未提供任何参数,则也可以选择省略括号。Call 关键字是可选项,但建议不要使用。

调用 Sub 过程的语法如下所示:

[Call] Sub 名称[(参数列表)]

您可以从定义 Sub 方法的类的外部调用该方法。首先,您必须使用 New 关键字创建该类的实例,或者调用可返回该类的实例的方法。有关更多信息,请参见如何:使用 New 关键字。然后,您可以使用下面的语法调用该实例对象上的 Sub 方法:

对象.方法名[(参数列表)]

有关更多信息,请参见如何:使用方法执行操作

声明与调用阐释

下面的 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 过程

Property 过程

运算符过程

过程参数和变量

参考

Sub 语句 (Visual Basic)