アトム電器三軒家店
新規のお客さまからのご注文は休止中です。
(以前からお取引のあるお客様のご注文は引き続き行っております)
2022年6月1日よりPCやネットワーク関連がmuchbowに移動しました。
そのため、お問い合わせはアトム電器三軒家店(有限会社おかもとでんか)では
なく、muchbow (https://www.muchbow.com/)にお願いします。
VBAでのエラー処理でよく使う定型構造
VBAのエラー処理は、Javaなどで使われるTry ~ Catchが使えないので、それに似せて確実にエラー処理が行えるようにする構造にして開発するようにしています。
Public Sub Test()
On Error GoTo Catch
'' ここにエラーが発生する可能性のあるコードを記述
Finally:
'' ここにオブジェクトの破棄処理などを記述
Exit Function
Catch:
'' ここにエラー処理を記述
GoTo Finally
End Sub
On Error Goto Catchでこれ以降でエラーが発生した場合は、Catchラベルに飛ぶようにしています。エラー処理はCatchラベル部で一括して記述します。エラー処理後にGoTo FinallyによってFinallyラベルへ移動します。このFinally部にオブジェクトの破棄処理を記述することで安全にかつ確実に破棄することができます。
エラーが発生しない場合は、Finallyラベルの最後に書かれているExit Functionによって関数から脱出するので、エラー処理を行うCatch部分は実行されません。