【发布时间】:2016-09-05 08:12:49
【问题描述】:
每天每小时执行两个大型 VBA 项目。它们通常需要 55 分钟才能完成。在过去一个月左右的时间里,他们一直在完美地工作。
突然之间,在凌晨,VBA 突然在随机点停止执行代码。
文件通过 VBScript 打开。当它失败时,VBScript 仍在运行,等待宏完成。我无法控制 Excel,也无法打开 VBA 查看卡在哪里。我不能轻易发布代码,因为代码太多了。
有什么提示可以让它再次工作吗?这是在 Windows Server 2012 R2 上运行的。
我尝试过重启服务器,也尝试过 Code Cleaner。
【问题讨论】:
-
尝试查看 WinServer 上的一些错误日志?
-
让宏创建一个日志文件并创建定期调用以将进度线写入日志文件。一旦宏崩溃,您可以通过查看日志文件的内容来很好地估计问题所在。必要时重复以缩小范围。
-
我认为 WinServer 没有意识到正在发生错误。就 Windows 而言,它正在按计划运行。不过,创建日志是个好主意——我会处理这个,看看发生了什么。如前所述,我有两个文件在两个不同的用户帐户上运行。我相信只有 1 是实际问题,这会导致第二个文件也停止。当第二个文件自己运行时,它似乎做得很好。
-
不要忘记在每次日志调用后关闭文件。否则有些行可能仍在文件缓冲区中,因此您在日志文件中看不到最新状态
-
@MatthewJohnSymons 服务器可能没有意识到有错误 - 但 VBA 错误处理程序会。代码中的正确错误处理将修复它或至少让它将错误输出到日志文件供您查看。就目前而言,没有任何代码可以说更多