次の方法で共有


Application.EnableCancelKey プロパティ (Excel)

実行中のプロシージャに対する Ctrl + Break (または Esc または Command + Period) ユーザーの中断を Microsoft Excel で処理する方法を制御します。 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 のサポートおよびフィードバックを参照してください。