gpt4 book ai didi

excel - OnTime 时间少于 1 秒而不会变得无响应

转载 作者:行者123 更新时间:2023-12-02 07:52:40 27 4
gpt4 key购买 nike

我有一个用户表单,每 100 毫秒运行一个脚本。该脚本处理用户窗体上的图像并用于为它们设置动画,同时窗体继续接收用户输入(鼠标单击和按键)。这将持续到用户窗体关闭为止。虽然 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”的次数比应有的次数多。

尽管脚本以正确的时间间隔运行,但使用“ sleep ”函数也会导致程序变得无响应。

有解决办法吗?提前致谢!

最佳答案

OnTime 只能安排以 1 秒的增量运行。当您尝试将其安排在 1/10 秒时,您实际上安排在 0 秒,即它立即再次运行,消耗所有资源。

简短的回答,您不能使用OnTime每1/10秒运行一个事件。

还有其他方法,参见CPearson用于调用 Windows API
公开声明函数SetTimer Lib“user32”...

关于excel - OnTime 时间少于 1 秒而不会变得无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25116231/

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