我想根据当前系统时间每30秒保存一个excel文件。所以在HH:MM:30和HH:NN:00。我知道您可以使用TimeValue在特定时间调用宏(以保存工作簿),例如在16:30:00(见下文)。是否有人知道,如果这个,或其他功能,可以用来保存打开的工作簿时,当前系统时间更新为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
代码中的错误,否则它可能会让用户非常(非常)讨厌。