如何让用户退出长期运行的VBA任务?

Lun*_*tik 8 user-interface user-controls vba

我有一个例程,检查数以千计的记录,寻找差异.这可能需要向上5分钟才能完成,虽然我提供了一个进度条和使用时间算,我不知道我要鼓励民间按下Ctrl-突破戒烟是否应该花费的时间比预期的报告.

进度条中的按钮将无法正常工作,因为表单是非模态的,因此在这种情况下是否有允许用户退出的简洁方法?

Dic*_*ika 11

您需要DoEvents和一个范围大于您正在运行的范围的变量.也就是说,如果它只是一个过程,则需要一个模块级变量.如果它不止一个模块,则需要一个全局变量.看这里

DDoE的秒表

通常情况下,VB引擎会占用处理器,直到完成为止.但是,使用DoEvents,VB允许处理器处理队列中的下一个,然后返回到VB.