プロシージャの引数の数を可変にする(Optional)

Function conv(val, Optional rate = 90)
conv = val * rate
End Function
Sub main()
Dim a
a = conv(100, 76)
MsgBox a
a = conv(100)
MsgBox a
End Sub

Function conv(val, Optional rate = 90)
conv = val * rate
End Function
引数の一部を省略可能にすることができます。
実行すると一つ目のメッセージボックスでは7600、二つ目は9000が表示されます。

main()の一つ目の呼び出しではval=100/rate=76
二つ目の呼び出しではval=100/rate=90
として処理されます。
このように引数を省略した場合の値を定義することができます。
値を省略すると、その時は文字列としてはNULL、数値としては0となるようです。

なお、一度Optional指定するとそれ以降の引数は必ずOptionalにする必要があります。
Function d(val, Optional rate = 90, count)
みたいなのはNGです。
comments (0)

コメント

Comment Form