VB6・VBA関数メモ:IsMissing関数

IsMissing関数についてメモしておきます。
Optional指定またはParamArray指定の引数が省略されたかどうかを検証する関数になります。

Variant型以外の引数や規定値が設定された引数の場合は
必ず未省略として扱われてしまうようなので注意です。
また、NullをNothingをしてもTrueになるわけではないようです。


概要

IsMissing(ArgName) As Boolean
機能 指定の引数が省略されたか否かを返す
※Variant型のみ有効
引数 ArgName 検証する引数 Variant型
戻り値 省略された場合「True」
未省略の場合「False」
Boolean型


使用例

説明記述例出力
Variant型のOptional指定の引数を
省略した場合
Function Sumple(Optional arg)
    Sumple = IsMissing(arg)
End Function



Debug.Print Sumple()
True
Variant型のOptional指定の引数を
省略しない場合
Function Sumple(Optional arg)
    Sumple = IsMissing(arg)
End Function



Debug.Print Sumple(123)
False
ParamArray指定の引数を
省略した場合
Function Sumple(ParamArray args())
    Sumple = IsMissing(args)
End Function



Debug.Print Sumple()
True
ParamArray指定の引数を
省略しない場合
Function Sumple(ParamArray args())
    Sumple = IsMissing(args)
End Function



Debug.Print Sumple(1,2,3)
False


動作検証

説明記述例出力
Variant型以外の引数の場合は
引数を省略しても必ずFalseが返る
Function Sumple(Optional arg As Integer)
    Sumple = IsMissing(arg)
End Function



Debug.Print Sumple()
False
規定値が指定された引数の場合は
引数を省略しても
省略とは扱われない
Function Sumple(Optional arg = 0)
    Sumple = IsMissing(arg)
End Function



Debug.Print Sumple()
False
空欄やNull、Nothingを引数に指定しても
省略とは扱われない
Function Sumple(Optional arg)
    Sumple = IsMissing(arg)
End Function



Debug.Print Sumple(Null)
False


コメント
コメントする








    
この記事のトラックバックURL
トラックバック