VBA停止刷新优于自动保存
我正在尝试每秒自动保存一个VBA停止刷新优于自动保存,vba,excel,Vba,Excel,我正在尝试每秒自动保存一个csv open excel它工作正常,但问题在于每次保存时,如果我打开了2个excel或同一个文件,它会出现并消失,我想将其保存在后台,但不确定如何执行我使Application.DisplayAlerts=Falsead False仍然不起作用 Sub SaveThis() Application.DisplayAlerts = False ThisWorkbook.Save Application.DisplayAlerts = False Applicatio
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
试试这个代码
With ThisWorkbook
If Not .Saved Then .Save
End With
这个想法是,硬件不能按照您要求的速度运行。此代码会将保存频率降低到更改频率。因此,如果以每秒一次的速率进行更改,代码将无法解决问题
但是,除非您预期系统会崩溃,否则没有理由如此频繁地保存工作簿。在这种情况下,Excel自己的自动恢复将创建备份。另一种可能是,您可能需要每秒单独复制更改。你的代码并没有做到这一点,我怀疑你的硬件能否跟上
因此,即使您每秒修改工作簿几次,也足以以更长的时间间隔保存它。请记住,保存的目的是保护数据。以您建议的方式强调硬件更有可能危及硬件。同时使用
。EnableEvents
我做了同样的事情,您真的希望它每秒钟都能节省吗?仅在文件更改时保存如何?