首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA停止OnTime函数

VBA停止OnTime函数
EN

Stack Overflow用户
提问于 2020-08-12 12:02:22
回答 1查看 53关注 0票数 1

有人能帮我一下如何停止OnTime函数吗?它不像我试过的那样起作用。

代码语言:javascript
复制
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

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-12 12:06:38

Application.OnTime法文档中所述

Schedule设置为False以清除以前使用相同的ProcedureEarliestTime值设置的过程。

语法是.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

所以如果你用

代码语言:javascript
复制
Application.OnTime iTimerSet, "FXKurs_Wahl"

要启动它,您需要使用

代码语言:javascript
复制
Application.OnTime EarliestTime:=iTimerSet, Procedure:="FXKurs_Wahl", Schedule:=False

来阻止它。请注意,对于这两者,iTimerSet必须是相同的值。

确保如果您多次运行FXKurs_Wahl,您将需要删除多个OnTime过程。还要确保没有其他代码管理iTimerSet值。

如果可以多次运行FXKurs_Wahl,请尝试在添加新OnTime之前删除旧的

代码语言:javascript
复制
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 Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63376122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档