微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

完成刷新后关闭 Excel - 来自 ms Access 的 VBA

如何解决完成刷新后关闭 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 举报,一经查实,本站将立刻删除。