VBA Break命令绑定到一个键

时间:2014-04-14 08:29:48

标签: excel vba

我希望禁用VBA中的BREAK(或暂停)键,但我遇到了两面墙。

  1. 如何告诉VBA正在按下功能键
  2. 中断的On.Key {NAME}是什么?
  3. 我的工作簿强制用户通过在关闭工作簿时将每个工作表设置为xlVeryHidden并在打开时将其设置为可见(以及以登录到工作簿的某些区域为中心的各种其他位)来启用宏,这意味着VBA必须使用。但是,在“Workbook_open”例程中的某些点,如果有人中断了程序,它会使登录访问权限变得有效,我不希望这样。

    我希望能够将中断命令绑定到我想要的任何组合键,所以只有我知道它是什么,保持中断键被禁用。

    感谢您的提前帮助

2 个答案:

答案 0 :(得分:3)

您可以通过命令Application.EnableCancelKey = xlDisabled执行此操作。

This link解释得非常好。

答案 1 :(得分:1)

使用Manu的链接,我使用此代码解决了问题:

On Error GoTo errorhandler
Application.EnableCancelKey = xlErrorHandler

'***Code that you don't want interupted goes here***

Exit Sub
errorhandler:
If Err.Number = 18 Then
Call error_handler_message
Resume
Else
MsgBox "Something went wrong!"
Exit Sub
End If
“error_handler_message”程序中的

是:

Application.EnableCancelKey = xlDisabled
MsgBox "Breaking Of Code Execution Has Been Disabled", vbOKOnly, "Unable To Stop Process!"

存在xlDisabled的原因是因为没有它,用户可以再次按ctrl + break并中断该操作,如果禁用它,它们也无法破坏反中断代码。