[英]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.