有人能帮我一下如何停止OnTime函数吗?它不像我试过的那样起作用。
Option Explicit
Dim iTimerSet As Double
Public Sub FXKurs_Wahl()
iTimerSet = Now + TimeValue("00:05:00")
Application.OnTime iTimerSet, "FXKurs_Wahl"
End Sub
Public Sub EndeUhr()
On Error Resume Next
Application.OnTime iTimerSet, "FXKurs_Wahl", , False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call EndeUhr
End Sub谢谢!
发布于 2020-08-12 12:06:38
如Application.OnTime法文档中所述
将
Schedule设置为False以清除以前使用相同的Procedure和EarliestTime值设置的过程。
语法是.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
所以如果你用
Application.OnTime iTimerSet, "FXKurs_Wahl"要启动它,您需要使用
Application.OnTime EarliestTime:=iTimerSet, Procedure:="FXKurs_Wahl", Schedule:=False来阻止它。请注意,对于这两者,iTimerSet必须是相同的值。
确保如果您多次运行FXKurs_Wahl,您将需要删除多个OnTime过程。还要确保没有其他代码管理iTimerSet值。
如果可以多次运行FXKurs_Wahl,请尝试在添加新OnTime之前删除旧的
Public Sub FXKurs_Wahl()
EndeUhr 'remove the old one before setting a new one
iTimerSet = Now + TimeValue("00:05:00")
Application.OnTime iTimerSet, "FXKurs_Wahl"
End Subhttps://stackoverflow.com/questions/63376122
复制相似问题