VBA停止刷新擅长自动保存

时间:2017-06-10 10:05:35

标签: excel vba excel-vba

我试图自动保存csv open excel每秒它工作正常,但问题是每次保存,如果我打开2 excel或相同的文件它出现并消失我想保存它我不知道怎么做的背景我Application.DisplayAlerts = False ad false仍然无效。

Sub SaveThis()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = False

Application.OnTime Now + TimeValue("00:00:01"), "SaveThis"
End Sub

更新代码

Sub SaveThis()
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.EnableEvents = True


Application.OnTime Now + TimeValue("00:00:01"), "SaveThis"
End Sub

1 个答案:

答案 0 :(得分:1)

试试这段代码。

With ThisWorkbook
    If Not .Saved Then .Save
End With

这个想法是硬件不能按照你要求的速度跟进。此代码会将保存频率降低到更改频率。因此,如果以每秒一个的速率进行更改,代码将无法解决问题。

但是,除非您希望系统崩溃,否则Excel自身的自动恢复会创建备份,因此没有太多理由经常保存工作簿。另一种可能性是您可能希望每秒更改单独的更改副本。你的代码没有尝试,我怀疑你的硬件可以跟上。

因此,即使您每秒多次修改工作簿,也可以以更长的间隔保存它。请记住,保存的目的是保护数据。以你提出的方式强调硬件更有可能危及它们。