引数が省略されたかどうかをチェックする( 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 |
実行結果
関連記事
-
-
出力位置、書き込み位置を設定(Tab 関数)
出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …
-
-
VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)
論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …
-
-
変数がオブジェクト型かどうかをチェックする( IsObject 関数 )
IsObject 関数の使い方 【書式】 result = IsObject ( …
-
-
VBA の演算子(演算子の優先順位)
演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …
-
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
-
-
日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )
DateValue 関数(文字列から日付データを取得) 【書式】 date_va …
-
-
指定した値を8進数で表記した文字列に変換する(Oct 関数)
Oct 関数 の使い方 【書式】 result = Oct ( expressi …

