Excel反复打开和closures工作簿时崩溃

在Excel2003中,我看到一个奇怪的事情发生在我写的自动修改工作簿列表的macros中。 我有一个12000个工作簿的列表进行修改,所以我需要依次打开每个工作簿,做内部的东西,然后保存和closures。 在处理了大约1000个工作簿之后(有时还有几百个工作簿),Excel只会崩溃。

这是我正在做的伪代码

public sub ProcessWorkbooks() dim i as Integer dim targetWorkbook as Workbook With thisWorkbook.Sheets("Main").Range("A15") Do While .Offset(i, 0).Value <> "" set targetWorkbook = Application.Workbooks.Open(.Offset(i, 3).Value) If targetWorkbook Is Nothing Then Goto NextIteration End If Application.ScreenUpdating = False Call ProcessWorkbook(targetWorkbook) Call targetWorkbook.Save DoEvents Call targetWorkbook.Close Application.ScreenUpdating = True NextIteration: i = i + 1 Loop End With end sub 

我的第一个想法是内存泄漏,但是我认为Excel在崩溃之前应该变得非常慢,但是执行速度在崩溃之前保持不变(我还没有坐在那里,看了几千个工作簿。 )。 Excel中是否有可能导致这种崩溃的事情? 也许历史需要清理或类似的东西? 有没有人有过这种情况发生?