[ホーム] > [VBScript FAQ 一覧] > [VBA Evaluate 関数のエラーをトラップする]

VBA Evaluate 関数のエラーをトラップする | VBScript / VBA FAQ







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 一覧]





(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。
このページはリンクフリーです。(このページへの直接リンクも可能です。)
雑誌等での紹介は特に連絡は不要です。
Copyright(c) tooljp.com 2007-2019