通过VBA

时间:2016-10-05 14:58:12

标签: excel-vba vba excel

在过去的几年里,我遇到了一个间歇性的问题,最终我真的需要尝试追踪解决方案。

我正在运行一个VBA脚本,该脚本会接收在一天中吐出的各种csv文件,然后将它们用于各种其他进程。

每隔20分钟,它会打开一个带有“Workbook_Open”块的工作簿来完成工作。完成作业后,它将关闭Excel应用程序。它每天都在这样做。

大部分时间都没有出现故障。偶尔,它会挂起,因为它试图保存工作簿。当我看到它时,我看到的是“另存为”框,其中包含文件路径/名称和取消按钮。它只是等到那里,直到有人点击“取消”或系统因尝试打开Excel太多次而失败。

如果我抓住它并单击按钮,它将继续,好像没有发生任何异常。否则它只是等待用户点击按钮,就像它是任何其他msgbox / inputbox一样。

奇怪的是,无论我是否点击“取消”或杀死该应用程序或其他任何内容,该文件都会被保存。发生时似乎没有任何模式。

我尝试过搜索类似的问题,但我的所有搜索都不可避免地会出现与系统/应用程序崩溃相关的结果。这不是那个。如果我点击取消,Excel将继续正常进行,即使按照它应该的方式继续保存文件也是如此。

帮助?

1 个答案:

答案 0 :(得分:2)

我通过在.SAVEAS或.SAVE调用前后添加对DoEvent的调用来解决此问题。仅两天,但这似乎使我每天多次运行的过程(将多个工作簿创建到共享驱动器,并且一天都不会发生此错误)变成了完美的释放过程。 / p>