在Excel VBA中超时

我想知道是否可以在Excel中创build一个VBAmacros,这将在X分钟内保存文件。 我已经想到如何在Excel启动后初始化macros,我发现在谷歌这样的事情应该暂停macros

Application.Wait(Now + TimeValue(“0:10:00”))

但是这也会阻止用户input,并且在那段时间内他不能做任何改变。

这不是一个防撞保护,我需要这个的原因是,有些用户忘记定期保存文件…

谢谢弗朗西斯

Simoco的两个例子可以很好地工作,但是如果你想防止不必要的保存(特别是在你处理networking文件或者大文件的时候),你可以每次在工作表中进行修改。

只要使用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需要是每个工作簿中定义的全局variables。

顺便说一句,确保保存您的文件每X分钟不拧螺丝与撤销/重做function的Excel。 我记得在使用自动保存function的时候,我有过不想要的行为。

其他想法:Google文档不需要这种types的macros,因为没有必要保存。