Sub
过程是由 Sub
和 End Sub
语句括起来的一系列 Visual Basic 语句。 该过程 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")