相关疑难解决方法(0)

Excel.Application Object .Quit 使 EXCEL.EXE 运行

我在 Windows 10 上的 MS Access 2013 中工作,我只是想编写一个 Sub 来打开磁盘上的 Excel 文件,更改列格式和一些列,保存并退出。Sub 运行并按预期执行,但问题是即使在 .Quit 命令之后,“EXCEL.EXE”也会继续运行,随后对该 Sub 的调用将导致运行时错误。如果我在运行子程序后关闭 Access,任务管理器上的“EXCEL.EXE”会消失,但如果我执行“压缩和修复”数据库,则不会。

我已经完成了另一个 Sub ,它只是在磁盘上打开一个 Excel 文件并将所有列的宽度更改为“自动宽度”,然后关闭,它工作正常并且不会让“EXCEL.EXE”运行。

我究竟做错了什么?是否可以在 VBA 中确保“EXCEL.EXE”正确退出?

我在 Dims 和 Sets to Nothing、Workbook Closes 等上尝试了很多不同的行顺序。 另外,我在这里和其他网站上搜索了如何解决这个问题,但 2 小时后我看到的唯一建议是使用 VBA ThisWorkbook.Saved = True 之类的东西,但我在 .Quit 之前和之后都尝试过,但没有效果。除此之外,我只找到 VB.NET 或其他我不使用的环境的解决方案,现在几乎没有。

感谢您阅读本文。

代码如下:

Sub changeXLcolumnFormatting()

Dim XL As Object
Set XL = CreateObject("Excel.Application")
XL.Visible = False
XL.DisplayAlerts = False
XL.Workbooks.Open "C:\Users\640344\Desktop\rawDataTest.XLSX"
Dim sht As Worksheet

With XL
Set sht = ActiveWorkbook.Worksheets(1)

Dim rng As Range …
Run Code Online (Sandbox Code Playgroud)

excel ms-access vba

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

excel ×1

ms-access ×1

vba ×1