引数が省略されたかどうかをチェックする( IsMissing 関数 )
IsMissing 関数の使い方
【書式】
result = IsMissing ( argname )
【引数・戻り値】
- argname ・・・ プロシージャの省略可能なバリアント型の引数の名前を指定します。
- result ・・・ プロシージャを呼び出したときに省略可能なバリアント型引数がプロシージャに渡されたかどうかの結果(ブール型)
引数が渡されなかった時、つまり引数が省略されたとき ⇒ 真(True)
引数が渡された時 ⇒ 偽(False)
IsMissing 関数は、バリアント型以外の整数型や倍精度浮動小数点型などの通常のデータ型に対しては無効です。
IsMissing 関数の使用例
サンプルVBAソース<その1>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
'------------------------------------------------------------------------------ ' IsMissing 関数の動作 '------------------------------------------------------------------------------ Sub Sample_ismissing() Dim num As Long, str As String, obj1 As Object, obj2 As Object num = 100: str = "こんにちは" Set obj2 = Nothing Debug.Print test_missing01() 'True ※引数が省略された Debug.Print test_missing01(num) 'False Debug.Print test_missing01(str) 'False Debug.Print test_missing01(obj1) 'False Debug.Print test_missing01(obj2) 'False Debug.Print test_missing01(Null) 'False Debug.Print Debug.Print test_missing02() 'False ※この場合、argu は、0 となる Debug.Print test_missing02(num) 'False Debug.Print Debug.Print test_missing03() 'True ※引数が省略された Debug.Print test_missing03(num, str) 'False Debug.Print test_missing03(obj1) 'False Debug.Print test_missing03(obj2) 'False Debug.Print test_missing03(1, 2, 3) 'False Debug.Print test_missing03(Null) 'False End Sub '------------------------------------------------------------------------------ '省略可能なバリアント型引数 Function test_missing01(Optional argu) test_missing01 = IsMissing(argu) End Function '省略可能な数値型(Long)引数 Function test_missing02(Optional argu As Long) test_missing02 = IsMissing(argu) End Function 'キーワード ParamArray を指定した引数 Function test_missing03(ParamArray argu()) test_missing03 = IsMissing(argu) End Function |
実行結果
サンプルVBAソース<その2>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
'------------------------------------------------------------------------------ ' IsMissing 関数 使用例 '------------------------------------------------------------------------------ '以下のように、省略可能な引数(バリアント型)を使用し、 '省略した場合の処理(初期値を指定する等)を行う場合に 'IsMissing 関数を使用します Sub Sample_ismissing01() MsgBox test_missing04() End Sub '------------------------------------------------------------------------------ Function test_missing04(Optional argu) If IsMissing(argu) Then argu = "引数は省略されました!" End If test_missing04 = argu End Function |
実行結果
関連記事
-
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
-
-
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)
Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …
-
-
日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
DateDiff 関数の使い方 【書式】 result = DateDiff ( …
-
-
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)
Stream オブジェクト ADO(ActiveX Database Objec …
-
-
出力位置、書き込み位置を設定(Tab 関数)
出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
XlThemeColor 列挙型
XlThemeColor 列挙 定数 値 内容 xlThemeColorDark …
-
-
指定した値を16進数で表記した文字列に変換する(Hex 関数)
Hex 関数 の使い方 【書式】 result = Hex ( expressi …
-
-
日付時刻:日付時刻データを計算( DateAdd 関数 )
DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …
-
-
xlFileFormat 列挙型
xlFileFormat 列挙型 Workbook.SaveAs メソッド の引 …

