我正在尝试将数据从Access数据库导出到Excel工作簿。一切正常,只是在导出完成后我无法让Excel正常关闭。在执行代码后打开任务管理器时,Microsoft Excel的实例始终列在后台进程下。我阅读了各种评论,建议问题可能是,在创建初始Excel.Application对象和尝试关闭它之间,另一个Excel.Application正在秘密创建。结果,我将代码修剪到了创建和关闭Excel.Application对象的所有位置。结果仍然相同。
这是我的代码:
Sub testexcel()
Dim xl As Excel.Application
Set xl = Excel.Application
xl.Quit
Set xl = Nothing
End Sub
我很感激有关我需要更改以便让Excel正常关闭的任何建议。谢谢!
答案 0 :(得分:1)
这段代码最终对我有用:
Sub testexcel()
Dim xl as Excel.Application
Set xl = New Excel.Application
'Code
xl.Quit
Set xl = Nothing
End Sub
显然,“新”关键字完全不同。
答案 1 :(得分:0)
您声明您尝试从我的Access数据库导出数据' - 但是你没有说明 - - 并且有多种方法可以做到这一点。
在“访问”中,功能区的“外部”选项卡具有导出功能。如果在屏幕上打开数据集(表或查询),然后使用此功能手动执行导出 - 则Excel应用程序根本不应打开。您是否通过这种方法检查了理智?
答案 2 :(得分:0)
改为使用CreateObject("Excel.Application")
。
Sub testexcel()
Dim xl As Excel.Application
Set xl = CreateObject("Excel.Application")
Stop ' so you can see in Task Manager / Process Explorer that EXCEL.EXE is there
xl.Quit
Set xl = Nothing
' and it's gone
End Sub