OnError マクロ アクション
適用先: Access 2013、Office 2013
OnError アクションを使用すると、マクロでエラーが発生したときに行われる処理を指定できます。
設定
OnError アクションの引数は次のとおりです。
アクションの引数 |
説明 |
||||||||
---|---|---|---|---|---|---|---|---|---|
[設定] |
エラーが発生した場合の一般的な動作を指定します。 ドロップダウン ボックスの矢印をクリックし、次の設定値のいずれかをクリックします。
|
||||||||
マクロ名 |
引数 Go to が [マクロ名] に設定されている場合は、エラー処理に使用するマクロの名前を入力します。 The name you type must match a name in the Macro Name column of the current macro; you can't enter the name of a different macro object. In the example below, the ErrorHandler macro is contained in the same macro object as the OnError action. Go to 引数を [次へ] または [失敗] に設定した場合、この引数は空白にしておく必要があります。 |
注釈
OnError アクションは、通常はマクロの先頭に配置されますが、先頭以降に配置することもできます。 このアクションによって設定されるルールは、アクションを実行するたびに適用されます。
Go to 引数を Fail に設定すると、マクロに OnError アクションが存在しない場合と同じように Access が動作します。 つまり、エラーが発生した場合は、マクロの実行が停止され、標準的なエラー メッセージが表示されます。 [ 失敗 ] 設定値の主な用途は、マクロ内でそれ以前に設定したエラー処理を無効にすることです。
例
次のマクロは、 OnError アクションの使用を示しています。 この例では、 OnError アクションは、エラーが発生したときに ErrorHandler という名前のカスタム エラー処理マクロを実行することを指定します。 エラーが発生すると、CatchErrors サブマクロが呼び出されます。 エラー番号が 2102 の場合、特定のメッセージが表示され、マクロの実行が停止します。 それ以外の場合は、エラーを説明するメッセージが表示され、追加のトラブルシューティングを実行できるようにマクロが一時停止されます。 ErrorHandler マクロは、エラーに関する情報を表示する MacroError オブジェクトを参照するメッセージ ボックスを表示します。
サンプル コードの提供元:Microsoft Access 2010 Programmer's Reference。
/* MACRO: mcrThrowErrors */
/* PURPOSE: Error handling using macros in Access 2010 */
OnError
Go to Macro Name
Macro Name CatchErrors
OpenForm
Form Name frmSamples
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
MessageBox
Message This message appears after the OpenForm action
Beep Yes
Type None
Title
/* SUBMACRO: CatchErrors */
SubMacro: CatchErrors
If [MacroError].[Number]=2101 Then
MessageBox
Message Cannot find the specified form!
Beep Yes
Type Critical
Title
StopMacro
Else
MessageBox
Message =[MacroErro].[Description]
Beep Yes
Type None
Title Unhandled Error
SingleStep
End If
End SubMacro