连续循环/重复导致Excel崩溃(小时/天后)

我有一些VBA代码每15分钟持续运行一次。 该代码首先运行良好,但经过一段时间(大约4小时到5天不等),Excel崩溃。

这不是一个VBA崩溃(与debugging选项),但它是Excel冻结,并说应用程序需要重新启动。

我是否以某种不适合使用Excel的方式使用Excel? 我应该清除一些内存/caching,以避免这种情况?

我相信这是由于应用程序的OnTime方法的失败,前一段时间我有一个同样的问题,一个Excel工具,每5分钟从网上抓取数据。 有时只是坠毁,没有具体的日志或错误/警告。 这是我已经实施的解决方法:

1)在Workbook_Open事件中,我把:

myMacro 'the call to my procedure when the workbook is opened ThisWorkbook.Save 'I was saving the results, I don't know if you need this ThisWorkbook.Close 'I was closing my Workbook 

2)在Windows系统中,我使用了一个名为Task Scheduler的工具(通常安装在系统中),它的可执行文件位于系统文件夹( C:\ Windows \ System32 \ taskschd.msc )中,它非常直观,易于使用-使用。 我每五分钟就要完成一个任务,这个任务包括打开工作簿 (一旦完成,打开工作簿事件macros被触发,所以我的程序被调用,执行完成后,工作簿closures并保存为两行代码我已经发布你上面)。

即使这只是我的意见(我不能用技术证据来certificate),我并不太相信Application.OnTime是长期的, 对于每10秒钟的一个小任务,它可以正常工作几分钟,但是当macros定期运行,并且要避免看到这个时,每5个小时一次,Excel进程崩溃…那么我会build议让调度任务到微软工具而不是Excel应用程序方法。

我的经验 – 我的Excel和macros中的OnTime方法在1小时(最小崩溃)和7小时(崩溃之前的最长时间)之间崩溃。 我不得不在早上打开远处的一个距离连接,然后在出门之前就确定这个工作已经完成了。 – 我的同样的macros,与我上面描述的程序, 从来没有坠毁了。 我相信系统过程比Excel更可靠(但是我没有证据certificate这一点,所以不要把它当作黄金)。