Sub プロシージャ (Visual Basic)
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 Statement (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 (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")
関連項目
.NET