Microsoft Access Club >VBA物語 >このページ >次頁 < 前項  サイト内検索


エラー処理_Resumeの使い方:VBA物語08



エラー処理には、Resumeステートメントを用いる場合が多々あります。Resumeステートメントはエラー処理の中だけで用いることができます。エラー処理には無くてはならないものなのでしっかり学びましょう。

Resumeステートメント

下記プロシージャは、マクロをVBAに変換したものです。エラー処理とコメントを付与しています。この変換に際してのエラー処理には、Resumeステートメントが自動的に組み込まれます。

Resumeステートメントには大きく分けて、下記のように3つに分類できます。

 


Resume****

この働きは、****へプロシージャを誘導します。ちなみに、****のことを引数といいます。

この引数は、上記のサンプルプロシージャにおいては、cmd_コマンドボタン_Click_Exit になります。そして、以下の行にプロシージャを誘導させます。

cmd_コマンドボタン_Click_Exit:

この引数名は、Accessのシステムで使われているもの以外、お好きな文字列を命名して下さい 。

ResumeNext

この働きは、エラーの原因となったステートメントの次のステートメントからプログラムの実行を再開します。

ここで注意して欲しいのは、「次のステートメント」ということです。行ではありません。

例えば、次の IFステートメント を考えます。

If txt_年齢 < 20 Then
   Beep
   MsgBox "未成年です"
End If

********

テキストボックスtxt_年齢に数値以外を入力するとエラーが発生します。そして、エラー処理内にResume Nextを用いていると、********  以下でプロシージャが開始されます。

Resume

この機能は、エラーが発生したステートメントから引き続きプロシージャを開始させることができることです。

「どのような使い方があるんだ?またエラーが発生するじゃないか。」と思われやすいですが、一例として、Killステートメントでファイルを削除する場合 では、該当ファイルが開いているとエラーになります。エラー処理内の記述で該当ファイルを閉じまい。次に、Resumeで元のステートメントに返るといったことが考えられます。

Resumeステートメントの注意点

Resumeステートメントの注意点としては、必ずエラー処理の中で用いるという点です。通常のステートメント内では用いる ことができません。

次回も少しだけ、エラー処理についてお話する予定です。では…。

関連ページ

2001/10/06

ページの先頭へ 前ページへ戻る


エラー処理_Resumeの使い方:VBA物語08


 

-Microsoft Access Club-