Application.EnableCancelKey プロパティ (Excel)

Microsoft Excel が Ctrl+Break (または Esc キーまたは Command + ピリオド) キーで実行中のプロシージャを中断した場合を処理する方法を制御します。 XlEnableCancelKey の読み取り/書き込み。

構文

EnableCancelKey

expressionApplication オブジェクトを 表す変数。

注釈

XlEnableCancelKey には、次のいずれかの定数を指定できます。

  • xlDisabled. 割り込みを無視します。
  • xlErrorHandler。 このエラーは On Error GoTo ステートメントでトラップできます。 エラー コードは 18 です。
  • xlInterrupt. デバッグ、終了などを行えるように、実行中のプロシージャを停止します。

このプロパティは慎重に使用してください。 xlDisabled を使用する場合、暴走ループやその他の自己終了しないコードを中断する方法はありません。 同様に、 xlErrorHandler を使用しても、エラー ハンドラーが常に Resume ステートメントを使用して戻る場合、暴走コードを止める方法はありません。

実行中のプロシージャがなく、Excel が待機状態にある場合は、常に EnableCancelKey プロパティの値は xlInterrupt になります。 取り消しキーをトラップしたり、無効にしたりするには、プロシージャの実行のたびに明示的に EnableCancelKey プロパティに設定する必要があります。

次の使用例は、EnableCancelKey プロパティを使って、独自のキャンセル処理ルーチンを定義する方法を示しています。

On Error GoTo handleCancel 
Application.EnableCancelKey = xlErrorHandler 
MsgBox "This may take a long time: press ESC to cancel" 
For x = 1 To 1000000 ' Do something 1,000,000 times (long!) 
 ' do something here 
Next x 
 
handleCancel: 
If Err = 18 Then 
 MsgBox "You cancelled" 
End If

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。