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では、アクセス レベルと、オーバーロード、オーバーライド、共有、シャドウに関する情報を指定できます。 詳細については、「 Sub ステートメント」を参照してください。
パラメーターの宣言
各プロシージャ パラメーターは、変数を宣言する方法と同様に、パラメーター名とデータ型を指定して宣言します。 受け渡しメカニズムと、パラメーターが省略可能かパラメーター配列かを指定することもできます。
パラメーター リスト内の各パラメーターの構文は次のとおりです。
[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")
こちらも参照ください
.NET