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

Dav*_*dJB 2 excel time datetime vba

我想根据当前系统时间每隔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
Run Code Online (Sandbox Code Playgroud)

mki*_*ton 5

在您的工作簿代码中:

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
Run Code Online (Sandbox Code Playgroud)

在标准模块中:

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
Run Code Online (Sandbox Code Playgroud)

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