Excel - 打开文件卡在100%,直到VBA代码完成

时间:2017-09-11 16:19:19

标签: excel vba excel-vba

我有Workbook_Open事件,它会触发包含大量代码的脚本。它运行时间很长(从Web获取数据),我希望Excel在运行时打开文件,此VBA还会显示状态栏上的进度。我使用循环并且每次迭代都使用DoEvents而没有效果。仅当宏成功执行或我使用Ctrl + Pause Break时,文件才会打开。任何想法可能是错误的以及如何解决它?

编辑:我没有附上代码,因为我不是作者,其中有数百行。我有希望找到一个一般原因,为什么会发生这样的情况,来自遇到类似情况的人。 重要提示:看起来我从同事那里收到的文件的初始版本正常工作,直到我保存文件,因此代码中没有任何“错误”。使用VBADebugger没有帮助。文件中没有外部连接和名称。

1 个答案:

答案 0 :(得分:0)

我通过尽快让VBA超越Workbook_Open事件来解决问题。我把Private Sub Workbook_Open的早期内容放在"刮刀"程序现在看起来像这样:

Private Sub Workbook_Open
    Application.OnTime Now + TimeValue("00:00:01"), "scraper"
End Sub

必须是Excel在执行Workbook_Open事件之前不会(有时?)打开文件。