Tag: 准时

如何使用Application.OnTime在每天设定的时间调用macros而不必closures工作簿

我写了一个使用Application.OnTime的macros,如果我手动执行该macros的作品。 我试图自动化这个过程,所以我不必在“This Workbook”或(Private Sub Workbook_Open()()中编写Application.OnTime大多数人这样做是因为您可以让Windows调度程序在特定时间打开工作簿开启macros,我不能使用SCHEDULER。 因为我不能使用Windows调度程序,我会保持工作簿打开,计时器应刷新我的数据,然后每天在特定时间调用“我的macros”。 我在哪里放置这个代码,以及如何设置自动定时器?

如何检查或取消excel VBA中的多个挂起的application.ontime事件?

我正在使用Application.Ontime事件从单元格拉出一个时间字段,并安排一个子程序在那个时候运行。 我的Application.Ontime事件在Workbook_BeforeSave事件上运行。 因此,如果用户(更改所需时间+保存工作簿)多次,则创build多个Application.Ontime事件。 理论上我可以跟踪每个事件的唯一时间variables..但有没有办法检查/parsing/取消未决事件? Private Sub Workbook_BeforeSave SendTime = Sheets("Email").Range("B9") Application.OnTime SendTime, "SendEmail" End Sub Private Sub Workbook_BeforeClose Application.OnTime SendTime, "SendEmail", , False End Sub 所以如果我: 将B9更改为12:01,保存该工作簿 将B9更改为12:03,保存该工作簿 将B9更改为12:05,保存该工作簿 将B9更改为12:07,保存该工作簿 等等 我结束了多个事件发射。 我只想要一个事件(最近预定​​的) 如何取消Workbook_BeforeClose事件上的所有未决事件(或至less枚举它们)?