[ホーム] >
[VBScript FAQ 一覧] > [VBA Evaluate 関数のエラーをトラップする]
Excel の VBA では "1+1=2" や "5+6"などの式を評価することができます。
1+1=2 の場合は true
1+1=3 の場合は false
5+6 の場合は11
などです。
しかし式が 1+1* のように成立していない場合どのようにエラーハンドリングすればよいのか調査しました。
実験結果では on error ではトラップできませんでした。
結果として戻り値を Var Type で判定し、タイプが10ならエラーであると判定することができました。
true や falseの場合は 11 で判定が可能です。
戻り値が文字列の場合は 8 で判定が可能です。
ret = Evaluate(f2)
ret_type = VarType(ret)
If ret_type = 11 Then
If ret = True Then
rem add code here
end if
end if
参考:
Integer:2
Double:5
String:8
エラー(文法誤りなど):10
Boolean(true / false):11
Variant:0
Date:7
など
[ホーム] >
[VBScript FAQ 一覧]