gpt4 book ai didi

vba - 有没有办法在Excel中查看Application.OnTime的预定程序?

转载 作者:行者123 更新时间:2023-12-04 16:50:39 27 4
gpt4 key购买 nike

我正在 Excel 中设计一个类似仪表板的工作簿,我已经创建了一个例程来使用 Excel VBA 中的 Application.OnTime 方法不时自动显示一些图表,但我有调试我的例程的一些问题。

有三个预定例程:第一个为图表拍摄数据快照,第二个开始显示图表,第三个从第二个开始,在图表中循环显示它们一小段时间

我的主要问题是跟踪例程的最后一次执行,因为它们中的每一个都使用 Application.OnTime

安排自己

所以我有两个问题:

一:有没有办法在 Excel 中查看 Application.OnTime 的计划例程?

二:有没有更好的方法使用VBA来安排重复的例程?

最佳答案

我无法知道得到预定的东西。当我调试一个使用 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,您将需要一个数组或集合来进行跟踪。我的只是一个计划运行或不运行的宏,所以我的全局变量/常量起到了作用。

关于vba - 有没有办法在Excel中查看Application.OnTime的预定程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12784049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com