如何在VBA中释放对象并清除内存

这是我第一次张贴加一个业余程序员,所以让我知道你是否需要任何额外的信息。 我有以下问题:

用excel VBA连接到另一个程序(即Aspen EDR)。 为此我有一个相应的加载项安装。 访问Aspen EDR我需要添加一个对象。 IM完成后,我想释放对象来保存一些内存。 我尝试的第一件事是这样的:

Dim ObjEDR As BJACApp Dim Path As String Path = 'assume this is the correct path to the file i want to open Set ObjEDR = New BJACApp ' Create the BJAC object If Not ObjEDR.FileOpen(Path) Then MsgBox "Can't open file!" End If '... Set ObjEDR = Nothing 

我的问题是:我没有设置对象后,Excel不释放内存(正如我可以在我的任务pipe理器中看到的)。 当然,经过几百次迭代(我必须打开很多这些文件),我得到一个错误信息,该excel是内存不足。 我读了几个线程,显然没有东西只删除某种对象的引用,而不是对象本身,所以我试图添加fileclose

 '... ObjEDR.FileClose Set ObjEDR = Nothing 

当执行FileClose时,我可以看到有一点内存被释放(3MB的0.5),但仍然有很多内存积累。

谢谢您的帮助 :)

删除New关键字,就没有必要了。

 Dim ObjEDR As BJACApp Dim Path As String Path = 'assume this is the correct path to the file i want to open Set ObjEDR = BJACApp ' Create the BJAC object If Not ObjEDR.FileOpen(Path) Then MsgBox "Can't open file!" End If '... ObjEDR.FileClose Set ObjEDR = Nothing