Excel VBA:全部刷新并保存

Excel VBA:全部刷新并保存,excel,vba,save,refresh,Excel,Vba,Save,Refresh,我有一个非常简单的任务,就是希望刷新工作簿上的所有数据,该工作簿只包含3个带有外部数据的表,并每5分钟保存一次。 我目前通过以下方式使工作簿每5分钟自动保存一次: Sub SaveWb() ThisWorkbook.Save Application.OnTime Now + TimeValue("00:05:00"), "SaveWb" End Sub & 使用后台自动刷新的连接属性在5分钟内刷新表。 但是,我一直遇到excel会提示的问题: 这将取消挂起的数据刷新。持续[确定

我有一个非常简单的任务,就是希望刷新工作簿上的所有数据,该工作簿只包含3个带有外部数据的表,并每5分钟保存一次。 我目前通过以下方式使工作簿每5分钟自动保存一次:

Sub SaveWb()
    ThisWorkbook.Save
    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

这将不再取消挂起的数据刷新。是否继续?

需要调用应用程序。DisplayAlerts=False可禁用警告

当您从另一个子系统调用它时,这不起作用
Sub SaveWb()
    ThisWorkbook.RefreshAll
    ThisWorkbook.Save
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub