Excel VBA Application.OnTime.我觉得使用这个想法是个坏主意......想法无论如何?

Fin*_*per 3 excel vba scheduling timer excel-vba

我有一些我支持的用户要求自动发生事情(更自动化,但这是另一点!).

一个人希望事件每120秒发生一次(参见我的另一个问题),另一个人希望在每个工作日的下午5点发生一件事.这必须在Excel工作表上,因此VBA作为插件等将是不,因为它需要自包含.

我非常不喜欢使用Application.OnTime 我认为它危险且不可靠,其他人怎么想?


编辑:交叉发布是VBA宏定时器样式,每隔设定的秒数运行代码,即120秒

Mik*_*lum 12

Application.OnTime绝对100%可靠,绝对没有危险.但是,它通过VBA公开,并且由于某些原因您将VBA视为"否",因此您似乎无法使用此选项.

我通常不会使用OnTime进行长期调度,例如每天下午5点安排Excel执行命令.问题是,如果用户关闭Excel,则OnTime计划将丢失.在这种情况下,您需要使用任务计划程序,或创建自己的应用程序或Windows服务来打开Excel并执行命令.

但是,为了安排事件每120秒发生一次,使用Application.OnTime对此非常适合 - 每次OnTime回调时,您只需要在120秒内重新安排OnTime再次发生,因为OnTime仅触发一次按照计划,而不是重复.我绝对会使用VBA来完成这项任务.如果您不希望VBA开始执行操作,那很好:只需将VBA包含在工作簿中,然后由您的程序或任务计划程序打开.从那时起,VBA代码可以每120秒触发一次.

合理?