首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在VBA中打开一个大的Excel文件后,我应该总是添加DoEvents吗?

在VBA中打开一个大的Excel文件后,我应该总是添加DoEvents吗?
EN

Stack Overflow用户
提问于 2017-08-04 03:04:49
回答 1查看 842关注 0票数 1

我有一些大文件需要打开(但我不需要编写循环(否则,我肯定会选择DoEvents))。这些文件包含许多数据和计算,可能还有许多要更新的链接(如果我手动打开它们,我可以等待一段时间)。那么我是否应该在每次打开一个大文件时添加DoEvents,如下所示:

代码语言:javascript
运行
复制
Sub Test()
    ...
    Dim wb As Workbook
    Set wb = Workbooks("Large Workbook.xlsm", 3)
    DoEvents

    Dim wb2 As Workbook
    Set wb2 = Workbooks("Large Workbook2.xlsm", 3)
    DoEvents
    ....
End Sub
EN

回答 1

Stack Overflow用户

发布于 2017-08-04 03:08:34

这取决于你想要实现的目标。我通常只在处理器密集型循环中添加DoEvents,这样,如果我需要中断代码,我可以。它在很大程度上有利于防止Excel崩溃,或防止“无响应”屏幕。

也就是说,Excel有自己打开大文件的方式。如果它确实是一个大文件,那么很可能你已经看到了一个下载百分比。这是Excel加载和设置文件。

一般来说,如果你得到了一个白色的屏幕,或者Excel总是崩溃,并且你想从你的应用程序中获得一些控制权,那么添加一个DoEvents命令。否则,就让你的代码做它需要做的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45492573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档