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
關鍵詞來建立 類別的實例,或呼叫傳回 類別實例的方法。 如需詳細資訊,請參閱 New Operator。 然後,您可以使用下列語法在實例物件上呼叫 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")