Application.EnableCancelKey 属性 (Excel)

控制 Microsoft Excel 如何处理 Ctrl+Break (或 Esc 或 Command+Period) 用户对正在运行的过程中断。 XlEnableCancelKey 可读写。

语法

表达式EnableCancelKey

expression:表示 Application 对象的变量。

备注

XlEnableCancelKey 可以是以下常量之一:

  • xlDisabled。 完全禁用“取消”键捕获功能。
  • xlErrorHandler。 中断作为错误发送到正在运行的过程,可由使用 On Error GoTo 语句设置的错误处理程序捕获。 可捕获的错误代码为 18。
  • xlInterrupt。 中断当前运行程序,用户可进行调试或结束程序的运行。

使用此属性时应非常小心。 如果使用 xlDisabled,则无法中断失控循环或其他非自终止代码。 同样,如果使用 xlErrorHandler ,但错误处理程序始终使用 Resume 语句返回,则无法阻止失控代码。

只要 Microsoft 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。