ActiveWorkbook.close导致Excel崩溃

前一段时间,我构build了一个查看名称列表的macros,并从该名称列表中创build了基于列表的每个名称的工作簿。 macros为每个新创build的工作簿添加一些内容,然后保存并closures新的工作簿,然后再转到列表中的下一个名称并重新启动该过程。 我遇到的问题是Excel会在任何closures任何新工作簿的代码之后随机崩溃。 当我随机地说,我的意思是有时它可能会经历列表中的3个名字和崩溃,有时候它可能会经历列表中的10个名字,然后崩溃,但它总是在closures新工作簿的代码部分之后。

我尝试了几种不同的方法来closures工作簿,但是他们都产生了同样的问题。

Workbooks("Workbook_Name").Close SaveChanges:=False (我尝试设置为true和false)

ActiveWindows.Close

ActiveWorkbook.Close

Application.Windows("Workbook_Name").Close

我知道这个问题的原因是closuresfunction,因为当我把它完全拿出来,让它在保持每个新的工作簿打开的情况下运行,它不会崩溃。 很明显,这是不实际的,因为当我打开并打开数百个工作簿时,它给我的系统带来了巨大的压力。

我原本以为这个问题可能是计时的,并且工作簿在完成运行的其他代码之前试图closures,但是我之前添加了Application.Wait (Now + TimeValue("00:00:00"))并在closuresfunction后,等待不同的时间,这个问题依然存在。

下面是closures函数周围的代码示例:

 'Save workbook ChDir "Directory_Path" ActiveWorkbook.SaveAs Filename:="File_Path\"Workbook_Name", _ FileFormat:=xlOpenXMLWorkbook Application.Wait (Now + TimeValue("00:00:08")) ActiveWorkbook.Close False Application.Wait (Now + TimeValue("00:00:03")) 'Delete names from list Windows("LDS_Test.xlsm").Activate Sheets("names").Select Rows("3:3").Select Selection.Delete Shift:=xlUp 

最后,我知道这不是一本腐败的工作手册,因为我刚刚在一本新的干净的工作手册中从头开始重新编写这个macros,希望能够通过全新的构build来解决这个问题。

有什么build议么?