変数などの値をチェックする関数は、意図しない結果が起こらないように
コーディングするためには、是非覚えておきたい機能です。値をチェックする
関数には、次の一覧に挙げるようなものがあります。
・値をチェックする関数一覧
関数名 内容
IsDate関数 値を日付型に変換可能かどうかをチェック
IsNumeric関数 値を数値として評価できるかどうかをチェックする
IsObject関数 識別子がオブジェクトかどうかをチェックする
IsEmpty関数 値がEmptyかどうかを調べる
IsError関数 式がエラー値を持つかをチェック
IsMissing関数 省略可能な変数がプロシージャに渡されたかをチェック
IsNull関数 式にNull値が含まれているかをチェック
IsArray関数 変数が配列かどうかをチェック
構文 チェックを行う関数(Var)
設定項目 内容
Var チェックを行う対象を指定[省略不可]
どの関数もBoolean型で結果が返ってきます。次のサンプルを見てください。
●サンプル●
Sub IsDateSamp1()
Dim myDate As String
InputDate:
myDate = InputBox("誕生日を入力してください")
'---キャンセル時の処理
If myDate = "" Then
Exit Sub
'---(1)日付ではないデータが入力された場合
ElseIf IsDate(myDate) = False Then
MsgBox "日付データとして不正です"
'---再入力
GoTo InputDate
Else
MsgBox "あなたが生まれてから " & DateDiff("d", CDate(myDate), Date) & "日"
End If
End Sub
●解説●
ユーザーにInputBox関数で日付を入力してもらうのですが、(1)の
ステートメントで、入力値のチェックにIsDate関数を使用しています。
このように、チェックの対象となる状態に変数などがなっていない場合
にFalseを返す機能を利用し、想定外の処理がなされることを防ぎます。
●注意●
Null値とEmpty値は間違いやすいので注意が必要です。Null値は
バリアント型(Variant)に有効なデータが入っていないことを示す値であり、
Empty値は変数が初期化されていないことを示す値です。Empty値は数値とし
ては0と評価され、文字としては長さ0の文字列("")と評価されます。
|