我不知道要得到什么预定。当我调试一个使用OnTime的程序时,我创建了自己的日志,以便查看计划和时间。
Public Function WriteLog(bSchedule As Boolean) As Boolean
Dim sFile As String, lFile As Long
Dim sOutput As String
Dim bReturn As Boolean
Const sSOURCE As String = "WriteLog()"
On Error GoTo ErrorHandler
bReturn = True
sFile = Environ("USERPROFILE") & gsLOGPATH & gsTIMERLOG
lFile = FreeFile
sOutput = bSchedule
sOutput = sOutput & "," & gdtNextRun
sOutput = sOutput & "," & gsSCHEDMACRO
sOutput = sOutput & "," & Format(Now, "mm/dd/yyyy hh:mm:ss")
Open sFile For Append As lFile
Print #lFile, sOutput
Close lFile
ErrorExit:
On Error Resume Next
WriteLog = bReturn
Exit Function
ErrorHandler:
bReturn = False
If bCentralErrorHandler(msMODULE, sSOURCE) Then
Stop
Resume
Else
Resume ErrorExit
End If
End Function
这使用了一个错误处理系统,所以你必须为你修复它或删除错误处理的东西。
- gdtNextRun是下一个预定运行
- gsSCHEDMACRO是一个全球性的字符串常量这是否我安排或不安排宏将运行
- bSchedule日志全局日期变量。
如果你有多个OnTimes,你需要一个数组或集合来跟踪。我只是一个预定运行或不运行的宏,所以我的全局变量/常量做到了这一点。
我试过你的解决方案(有一些修改),工作得很好。谢谢! –