Ms access Word/Access VBA的xlErrorHandler类似物

Ms access Word/Access VBA的xlErrorHandler类似物,ms-access,ms-word,vba,Ms Access,Ms Word,Vba,有人知道Word/Access VBA的用户中断Ctrl+Break的处理程序吗 Excel中有非常有用的处理程序Application.enableCanceleKey=xlErrorHandler,但我需要处理Access和Word中的用户中断 有什么建议吗?关于Word,你可以试试 Application.EnableCancelKey = wdCancelInterrupt 对于访问,我不知道有一个等效的。我认为没有直接提供 强制代码检查用户事件的一种方法是添加行 Applicatio

有人知道Word/Access VBA的用户中断Ctrl+Break的处理程序吗

Excel中有非常有用的处理程序
Application.enableCanceleKey=xlErrorHandler
,但我需要处理Access和Word中的用户中断


有什么建议吗?

关于Word,你可以试试

Application.EnableCancelKey = wdCancelInterrupt
对于访问,我不知道有一个等效的。我认为没有直接提供

强制代码检查用户事件的一种方法是添加行

Application. DoEvents

在循环内部。由于这行代码会减慢代码的速度,因此应该每n次迭代执行一次。

使用Access,您可以编译到ACCDE,而不用担心这一点-此时用户将无法通过编程访问IDE。让我知道这是否是您正在寻找的,我可以将其作为一个答案发布-我不确定您是否打算捕获/执行它们,或者只是防止它扰乱执行。好的,我的临时解决方案是:
#如果HostProject=“Access”那么ChangeProperty“AllowSpecialKeys”,dbBoolean,False#ElseIf HostProject=“Word”然后Application.EnableCancelKey=wdCancelDisabled#Else Application.EnableCancelKey=xlErrorHandler#如果
我刚刚禁用了用户中断,但确实需要一个解决方案,通过
xlErrorHandler处理Excel中的中断,我只是对Word使用了
Application.enableCanceKey=wdCancelDisabled
,还使用了一些手工功能来允许访问特殊密钥,但这并不是一个完整的解决方案。我需要对用户中断进行一些操作,不仅仅是抑制它们。只是好奇,反复按escape会发生什么?在最坏的情况下,试试这个。在循环中添加一行
Application.DoEvents
。这会减慢它的速度,所以您可能希望每100次迭代执行一次,但这会暂停循环执行,以查看是否按下了Esc等。适用于Excel,在这里也可能适用。我想捕获Ctrl+Break用户中断。Excel处理程序允许我这样做,但Word和Access中没有此类处理程序<代码>执行事件
不会有帮助,因为我不想让用户查看代码。没关系。因为您可以对模块进行密码保护,以防止意外打开编辑器