强制垃圾收集

Zen*_*Zen 7 excel vba excel-vba excel-2000

有没有办法在VBA/Excel 2000中强制进行垃圾回收?

这个问题涉及Excel中的宏语言.不使用VB .NET来操作Excel.所以GC.collect()不起作用

kd7*_*kd7 12

使用直接VBA时,无法利用.NET Framework提供的垃圾回收.也许 Eric Lippert的这篇文章会有所帮助


ste*_*nci 7

您不能在VBA中强制使用GC,但最好将全局变量设置为Nothing。

kd7提到的文章说,在局部变量超出范围之前将其设置为Nothing是没有用的,但是没有讨论全局变量。

在VBA中,模块中定义的全局变量在整个Excel会话中都保持有效,即直到包含定义它们的VBA模块的文档关闭。

因此,Set O = Nothing当O是局部的时,不要把它没用,而当它是全局的时就不要用。