使用系统时间每30秒保存一次excel文件

我想基于当前的系统时间每隔30秒保存一个excel文件。 所以在HH:MM:30和HH:NN:00。 我知道你可以使用TimeValue在特定的时间调用macros(保存工作簿),例如在16:30:00(见下文)。 有没有人知道,如果这个,或者其他function,可以用来保存一个打开的工作簿,当前系统时间更新到XX:XX:30或XX:XX:00在Excel中。

Private Sub Workbook_Open() Application.OnTime TimeValue("16:30:00"), "macro_save" End Sub 

在您的工作簿代码中:

 Private Sub Workbook_Open() If Second(Now) < 30 Then Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now), 30), "macro_save" Else Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now) + 1, 0), "macro_save" End If End Sub 

在标准模块中:

 Public Sub macro_save() ThisWorkbook.Save If Second(Now) < 30 Then Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now), 30), "macro_save" Else Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now) + 1, 0), "macro_save" End If End Sub 

您可能需要处理macro_save代码中的错误,否则可能会让用户非常恼火。