我想知道是否可以在Excel中创建VBA宏,这将在每X分钟保存一次文件。我已经想过如何在excel启动后初始化宏,我在google上发现这样的事情会暂停宏
Application.Wait(Now + TimeValue(" 0:10:00"))
但这也会阻止用户输入,并且在此期间他无法进行任何更改。
这不是防碰撞保护,我之所以需要这个,是因为有些用户忘记定期保存文件......
谢谢 弗朗西斯
答案 0 :(得分:2)
Simoco的2个示例效果很好,但如果您想要防止不必要的保存(特别是如果您正在处理网络文件或大文件),您可以在每次更改时进行检查在工作表中。
只需使用Worksheet_Change函数即可,这是一种可能的模式:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Now > TimeStamp)
ThisWorkbook.SaveAs BlaBlaBlaBlaBla
TimeStamp = Now + TimeValue("0:10:00")
End If
End Sub
TimeStamp需要是每个工作簿中定义的全局变量。
顺便说一句,确保每隔X分钟保存一次文件并不会影响excel的撤消/重做功能。我记得在使用自动保存功能时,我过去曾有过不想要的行为。
其他想法:Google文档不需要这种类型的宏,因为不需要保存。