_Application.EnableCancelKey property

Controls how Microsoft Excel handles CTRL+BREAK (or ESC or COMMAND+PERIOD) user interruptions to the running procedure. Read/write XlEnableCancelKey.

Namespace:  Microsoft.Office.Interop.Excel
Assembly:  Microsoft.Office.Interop.Excel (in Microsoft.Office.Interop.Excel.dll)

XlEnableCancelKey EnableCancelKey { get; set; }

XlEnableCancelKey can be one of these XlEnableCancelKey constants:

  • xlDisabled  Cancel key trapping is completely disabled.

  • xlErrorHandler  The interrupt is sent to the running procedure as an error, trappable by an error handler set up with an On Error GoTo statement. The trappable error code is 18.

  • xlInterrupt  The current procedure is interrupted, and the user can debug or end the procedure.

Use this property very carefully. If you use xlDisabled, there's no way to interrupt a runaway loop or other code that is not self-terminating. Likewise, if you use xlErrorHandler but your error handler always returns using the Resume statement, there's no way to stop runaway code.

The EnableCancelKey property is always reset to xlInterrupt whenever Microsoft Excel returns to the idle state and there's no code running. To trap or disable cancellation in your procedure, you must explicitly change the EnableCancelKey property every time the procedure is called.