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

使用系统时间每30秒保存一次excel文件,excel,vba,datetime,time,Excel,Vba,Datetime,Time,我想根据当前系统时间每隔30秒保存一个excel文件。所以在HH:MM:30和HH:NN:00。我知道您可以在特定时间使用TimeValue调用宏(保存工作簿),例如在16:30:00(见下文)。是否有人知道当当前系统时间在excel中更新为XX:XX:30或XX:XX:00时,是否可以使用此函数或其他函数保存打开的工作簿 Private Sub Workbook_Open() Application.OnTime TimeValue("16:30:00"), "macro_save" En

我想根据当前系统时间每隔30秒保存一个excel文件。所以在HH:MM:30和HH:NN:00。我知道您可以在特定时间使用TimeValue调用宏(保存工作簿),例如在16:30:00(见下文)。是否有人知道当当前系统时间在excel中更新为XX:XX:30或XX:XX:00时,是否可以使用此函数或其他函数保存打开的工作簿

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
Private子工作簿\u Open()
如果秒(现在)<30那么
Application.OnTime VBA.TimeSerial(小时(现在)、分钟(现在)、30),“宏保存”
其他的
Application.OnTime VBA.TimeSerial(小时(现在)、分钟(现在)+1,0),“宏保存”
如果结束
端接头
在标准模块中:

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
公共子宏_save()
此工作簿。保存
如果秒(现在)<30那么
Application.OnTime VBA.TimeSerial(小时(现在)、分钟(现在)、30),“宏保存”
其他的
Application.OnTime VBA.TimeSerial(小时(现在)、分钟(现在)+1,0),“宏保存”
如果结束
端接头

您可能需要处理
宏\u save
代码中的错误,否则可能会让用户感到非常(非常)恼火。

工作簿是打开的,还是有人正在处理它值得注意的是,如果(例如)单元格处于编辑模式,使用OnTime计划的宏可能不会在计划的时间运行。很酷,很高兴能提供帮助。