tob*_*and 2 excel vba excel-2003 excel-vba
我是一个相对的VBA新手,设计一个相当复杂的宏,可以在10秒到10分钟之间运行任何东西,它的大部分工作都是在另一个不可见的Excel实例中创建的Dim appDatabaseInstance = New Excel.Application
.在代码执行过程中会使用许多函数和子例程,虽然我已经尽力确保appDatabaseInstance.Quit
在任何半可预测出错的地方调用它,但有一件事我无法控制 - 用户.
具体来说,如果用户决定程序已崩溃并保持转义,VBA将中断执行,并且由于中断的发生方式,我的垃圾收集程序(我认为)最终都没有发生.
因此,如果我能以某种方式命名我以可预测的方式创建的实例,然后在创建新实例之前尝试找到现有实例并适当地处理它,我会更高兴.这样即使一个不幸的应用程序实例保持打开状态,一旦用户尝试涉及该程序的任何其他内容,它将立即关闭(如果它们没有,那么一个实例不太可能在上下文中引起太多麻烦).
有没有人有什么建议?
您可以使用EnableCancelKey
Application对象的属性来确定用户中断代码时会发生什么
我建议你在迪克的博客上看到关于EnableCancelKey的这篇文章.
总结一下,EnableCancelKey
有三种可能的设置: