如何解决完成刷新后关闭 Excel - 来自 ms Access 的 VBA
我有一个 Access 数据库,它从一个预先存在的 Excel 电子表格中获取数据,该电子表格本身具有到另一个数据库的链接。
请注意,由于各种原因,我无法更改上述内容 - 相信我,我已经尝试过了!
我希望能够通过 Access 表单中的按钮更新 Excel 数据。 button_onclick()
子项(在 Access 中)中的代码如下:
Dim AppExcel As Excel.Application
Dim wbConn As Excel.Workbook
Set AppExcel = CreateObject("Excel.Application")
'AppExcel.Visible = True
Set wbConn = AppExcel.Workbooks.Open(FileName:="Filepath\MyFile.xlsx",UpdateLinks:=True,ReadOnly:=False)
With wbConn
'This only hid the problem,so commented out:
'AppExcel.displayAlerts = False
wbConn.RefreshAll 'Refresh Data in the Excel File
DoEvents
.Save
.Close
End With
AppExcel.Quit
Set wbConn = nothing
Set AppExcel = nothing
然后 sub 继续执行(其余部分与此问题无关,但包括从 excel 文件重新导入数据)。
我需要 Excel 文件仅在完成刷新时保存和关闭 - 运行此子程序时,保存和关闭(最初关闭 AppExcel.displayAlerts)只会在刷新完成之前取消刷新。但是,将 Doevents
放在 Access 代码中仅适用于 Access 应用程序,因此它不会等待 Excel 完成才尝试继续。
我如何让它等待?我需要 Excel 来完成刷新,然后以某种方式触发 Access 以继续处理子程序。
编辑:我最初尝试在 Access 中使用链接表(链接到 Excel 文件),但是当 Access DB 处于打开状态时,这些表有效地锁定了 Excel 文件,因此无法刷新 - 所以这不是一个选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。