我有Workbook_Open
事件,它会触发包含大量代码的脚本。它运行时间很长(从Web获取数据),我希望Excel在运行时打开文件,此VBA还会显示状态栏上的进度。我使用循环并且每次迭代都使用DoEvents
而没有效果。仅当宏成功执行或我使用Ctrl + Pause Break时,文件才会打开。任何想法可能是错误的以及如何解决它?
编辑:我没有附上代码,因为我不是作者,其中有数百行。我有希望找到一个一般原因,为什么会发生这样的情况,来自遇到类似情况的人。 重要提示:看起来我从同事那里收到的文件的初始版本正常工作,直到我保存文件,因此代码中没有任何“错误”。使用VBADebugger没有帮助。文件中没有外部连接和名称。
答案 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事件之前不会(有时?)打开文件。