假设我在 Access 中有一些 VBA 代码,出于某种原因使用了 Excel。有时我无法正确关闭文件。
代码(我认为)应该看起来像这样:
WBO.Close savechanges:=True
Set WBO = Nothing
XLO.Application.Quit
Set XLO = Nothing
rs.Close
db.Close
这里XLO是一个Excel对象,WBO是一个工作簿对象,rs是一个DAO记录集,db是一个DAO数据库。即使物理 Excel 文件关闭,我的系统上仍然存在一个“EXCEL.EXE”进程,这使我无法连续运行我的程序两次。有谁知道为什么会发生这种情况吗?
编辑
我取出了 rs.Close
和 db.Close
行,因为我决定手动将我正在使用的数据从 Access 导出到 Excel(行数太多)和有效复制每个单元格的列)。然而,这并没有改变手头的问题。
谢谢,
杰西·斯莫瑟蒙
最佳答案
不存在实际的 Excel
对象。 Application
是顶级对象,但该 Application
对象具有一个 Application
属性,该属性实际上指向“指定对象的创建者”。因此,尝试退出 XLO.Application
不会执行您认为应该执行的操作。
假设 XLO
的类型为 Excel.Application
,然后尝试使用 XLO.Quit
而不是 XLO.Application.Quit
关于excel - VBA 关闭 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7155179/