Tag: ontime

VBA:我怎样才能停止Application.onTime()?

[已解决]:请参阅解答的答案。 谢谢@DaveU。 我已经阅读了关于如何停止VBA Application.OnTime过程的一些问题/线程(例如this或this ),但是我不能让它停下来! 我正在使用它来每隔x秒拉一些数据。 我明白,当我调用OnTime()方法时,我需要传递给它用于安排事件的相同时间值。 我也尝试引入多个命令(例如试图导致错误)来停止执行,但它仍然不起作用! 该程序只是继续运行…这是我的代码看起来如何: 在工作表代码中我有: Public TimerActive As Boolean Public tick As String Public idx As Long Public counter As Long Public Sub UpdateOff_Click() TimerActive = False tick = "Off" counter = 1 idx = 1 Call StopTimer(idx, counter, tick, TimerActive) End ' force quit?? End Sub Public Sub UpdateOn_Click() […]

Excel VBA的OnTime不到1秒,没有变得没有反应

我有一个用户表单,每100ms运行一个脚本。 该脚本处理用户窗体上的图像,并用于对它们进行animation处理,而窗体继续接收用户input(鼠标点击和按键)。 这一直持续到用户表单closures。 虽然Application.OnTime似乎是最好的,但它只能在1秒或更长的时间内持续运行。 当我使用类似的东西 Sub StartTimer() Application.OnTime now + (TimeValue("00:00:01") / 10), "Timer" End Sub Private Sub Timer() TheUserForm.ScreenUpdate Application.OnTime now + (TimeValue("00:00:01") / 10), "Timer" End Sub 并调用用户窗体中的StartTimer,Excel变得非常没有反应,并且“Timer”每秒被调用的次数比它应该多。 尽pipe脚本以正确的间隔运行,但使用睡眠function也会导致程序无响应。 有没有解决方法? 提前致谢!