共用方式為


子程式 (Visual Basic)

Sub 程序是 SubEnd Sub 陳述式所括住的一連串 Visual Basic 陳述式。 此 Sub 程式會執行工作,然後將控件傳回給呼叫端程序代碼,但不會將值傳回給呼叫端程序代碼。

每次呼叫程序時,其語句都會執行,從 Sub 語句之後的第一個可執行語句開始,並以遇到的第一個 End SubExit SubReturn 語句作結。

您可以在模組、類別和結構中定義 Sub 程式。 根據預設,它是 Public,這表示您可以從應用程式中的任何位置呼叫它,該處可以存取您定義它的模組、類別或結構。 詞彙 方法 描述一種從定義其模組、類別或結構外部存取的 SubFunction 程序。 如需詳細資訊,請參閱 程式

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")

另請參閱