方法: プロシージャに対して省略可能なパラメーターを定義する (Visual Basic)
プロシージャのパラメーターを省略可能に指定して、プロシージャを呼び出すときに、コードがそのパラメーターに引数を渡さなくてもよいようにできます。 省略可能に指定する場合は、引数が指定されなかった場合にプロシージャが使用する既定値を定義します。
省略可能なパラメーターは複数定義できますが、省略可能なパラメーターはすべてパラメーター リストの末尾に置く必要があります。 すべての必須パラメーターを、すべての省略可能なパラメーターの前に定義することが必要です。
省略可能なパラメーターを定義するには
プロシージャ宣言のパラメーター リスト内で、パラメーター名の前に Optional キーワードを記述します。
パラメーター名の後に、通常と同じように As 句を記述し、As 句の後に等号 (=) を入力します。
等号の後に、パラメーターの既定値を指定します。 既定値は定数式であることが必要です。そうしないと、コンパイラが既定値をコンパイル時に完全にコンパイルできません。
省略可能なパラメーター以降のパラメーターは、すべて Optional で宣言する必要があります。
使用例
省略可能なパラメーターを含むプロシージャ宣言は、次の例のようになります。
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
呼び出しを行っているコードが引数リスト内の office に値を渡さなければ、Visual Basic が既定値 "QJZ" を渡します。
コードのコンパイル
すべての省略可能なパラメーターに対して、プロシージャ宣言内で既定値を指定する必要があります。 コンパイラがコンパイル時に評価できるように、各既定値には必ず定数を指定してください。
参照
処理手順
方法: 省略可能なパラメーターを受け取るプロシージャを呼び出す (Visual Basic)
方法: 省略可能なパラメーターが使用されているかどうかを確認する (Visual Basic)