我每次锁定Windows电脑时都想保存电子表格。 excel中是否有内置触发器(类似于on-close)?或者我可以让每分钟运行一个宏并检查我的机器是否正在使用或锁定?
答案 0 :(得分:1)
如果您真的需要这个,可以尝试以下解决方法:
在事件查看器中启用锁定事件的审核,以便记录事件4800以进行锁定as described here。
创建在锁定事件上触发的计划任务。选择带有协议的事件触发器:"安全",来源:" Microsoft-Windows-Security-Auditing"和事件ID:" 4800"
运行使用GetObject(, "Excel.Application")
的vbscript来检索当前有效的Excel会话并运行使用Application.Run
为您保存的宏(如this example中所示)
不是很直接,但另一方面,在锁定计算机之前,每次按 ctrl + s 都很简单。
答案 1 :(得分:0)
你可以尝试这个,看看这是否有效而不是使用宏:
但如果您特别想要一个宏,我可以尝试为您创建一个宏。
答案 2 :(得分:-1)
好的,将其添加到标准模块中:
Option Explicit
Public RunTime
Sub StartTimer()
RunTime = Now + #12:10:00 AM#
Application.OnTime RunTime, "SaveBook", schedule:=True
End Sub
Sub SaveBook()
ActiveWorkbook.Save
StartTimer
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime RunTime, "SaveBook", schedule:=False
End Sub
将其放在工作簿类模块中:
Private Sub Workbook_Open()
StartTimer
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
然后将其添加到工作簿类模块中:
Private Sub Workbook_Open()
StartTimer
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
StopTimer
End Sub
玩得开心,随便摆弄它