方法 : 省略可能なパラメータをプロシージャに定義する
更新 : 2007 年 11 月
プロシージャのパラメータを省略可能に指定して、プロシージャを呼び出すときに、コードがそのパラメータに引数を渡さなくてもよいようにできます。省略可能に指定する場合は、引数が指定されなかった場合にプロシージャが使用する既定値を定義します。
省略可能なパラメータは複数定義できますが、省略可能なパラメータはすべてパラメータ リストの末尾に置く必要があります。すべての必須パラメータを、すべての省略可能なパラメータの前に定義することが必要です。
省略可能なパラメータを定義するには
プロシージャ宣言のパラメータ リスト内で、パラメータ名の前に 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" を渡します。
コードのコンパイル方法
すべての省略可能なパラメータに対して、プロシージャ宣言内で既定値を指定する必要があります。コンパイラがコンパイル時に評価できるように、各既定値には必ず定数を指定してください。
参照
処理手順
方法 : 省略可能なパラメータを受け取るプロシージャを呼び出す
方法 : 省略可能なパラメータが使用されているかどうかを確認する