3

我有一个包含很多宏的 Excel 工作簿。

如果我有 Excel 应用程序。完全关闭,我打开它,它运行良好。

但是,如果我关闭工作簿(不关闭 excel 应用程序),然后再次打开它,打开时会出现巨大的延迟,并且在其中运行所有不同的宏时也会出现巨大延迟。

我没有在开始或后台运行任何东西。事实上,我已经在 thisworkbook Workbook_Open 例程上设置了一个标志……只是为了达到这一点(workbook_open 事件),它需要 20 多秒!而且还没有运行宏!

总而言之,如果从头开始打开(excel 应用程序未运行),工作簿需要 2-3 秒才能打开并准备好。一切都运行得很快(宏等)......

然后我关闭工作簿......如果再次打开(当 Excel 已经运行)需要 15-50 秒。基本上工作时的任何事情(宏运行等)都需要 x 10 更长的时间

如果我关闭 Excel 应用程序。完全并再次打开它,它再次运行良好(第一次)

我在想也许工作簿有一些影响内存的东西,第二次打开它会影响它......但我不知道,这只是一个猜测......

有没有人经历过这个?

4

1 回答 1

3

谢谢乔克……你把我送到正确的轨道上,我解决了这个问题……

正如你提到的,我根据“内存泄漏”进行了谷歌搜索,发现了一些链接,这些链接建议了 set xxx=nothing

我认为这不是什么大问题,也从没想过它会导致这样的延迟(事实上我有很多其他的宏/工作簿,从来没有遇到过这个问题)

令人难以置信的是它,一个失踪set xxxx=nothing

我浏览了在 workbook_open 事件上运行的所有代码。我确保全部设置了 set xxx=nothing(我发现两个缺失)

虽然它不影响程序正常运行(第一次打开),但当关闭它并再次打开它时,它就会引起问题!诡异的。

但感谢您,它现在已修复!

我希望这篇文章能在将来对其他人有所帮助

于 2012-11-09T16:40:52.247 回答