繁体   English   中英

Excel VBA:全部刷新并保存

[英]Excel VBA: Refresh All and Save

我有一个非常简单的任务,希望刷新工作簿上的所有内容(仅包含 3 个带有外部数据的表)并每 5 分钟保存一次。 我目前让工作簿每 5 分钟通过以下方式运行一次自动保存:

Sub SaveWb()
    ThisWorkbook.Save
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

&

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

并且在 5 分钟内使用后台自动刷新的连接属性刷新表。 但是,我一直遇到excel会提示的问题:

“这将取消挂起的数据刷新。继续吗?[确定][取消]”

我想知道我是否也可以在 VBA 中运行刷新,以便它们可以很好地运行而不会阻止刷新。 虽然使用wb.RefreshAll功能这似乎是一项轻松的工作,但我不存在的 vba 技能不允许我将它们放在一起......

非常感谢任何帮助!

我做了一些实验,通过编辑部分代码,它现在可以工作了:

Sub SaveWb()
    ThisWorkbook.RefreshAll
    ThisWorkbook.Save
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

没有更多“这将取消挂起的数据刷新。继续?”

需要调用 Application.DisplayAlerts=False 来禁用警告

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM