欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 建议金字塔增加Application.OnTime功能

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2082人关注过本帖树形打印复制链接

主题:建议金字塔增加Application.OnTime功能

帅哥哟,离线,有人找我吗?
qq代人发帖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
建议金字塔增加Application.OnTime功能  发帖心情 Post By:2020/12/11 13:19:11 [只看该作者]

请教:建议金字塔增加Application.OnTime功能,方便VBA程序降低系统消耗,每隔一定时间运行一次软件。目前金字塔只有Application.setTimer

Sub macro_timer()

'Tells Excel when to next run the macro.
Application.OnTime Now + TimeValue("00:00:1"), "my_macro"

End Sub

Sub my_macro()
'Macro code that you want to run.
MsgBox "This is my sample macro output."

'Calls the timer macro so it can be run again at the next interval.
Call macro_timer

End Sub

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/12/11 13:55:09 [只看该作者]

这个和计时器有啥区别呢

 回到顶部
帅哥哟,离线,有人找我吗?
haiquan5
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:2 积分:0 威望:0 精华:0 注册:2019/12/28 1:31:10
  发帖心情 Post By:2020/12/11 14:31:39 [只看该作者]

区别是:计时起点不一样。
计时器是从程序启动开始计时,比如计时器是5秒,然后执行一次代码,如果这段代码运行的时间是3秒,下一次执行就是2秒以后。而Application.OnTime函数,Application.OnTime Now + TimeValue("00:00:05"), "my_macro" 设定的是在这段代码完成后,比如在目前时间基础上增加5秒钟,5秒到了之后再开始运行代码。
计时器是一开始程序就运行着,始终没有停止过。而Application.OnTime函数是到了时间才运行。我的理解是这样的,不知是否正确。

 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2021/3/30 15:46:26 [只看该作者]

代码的执行时间你是无法预计的,你可以设置一个全局变量,初始值设为0,在代码进入的地方,设置为1,运行完之后设置为0,在ontimer事件中,
判断这个变量是否为0,是就进入循环,不是就不进入,这样就可以避免上一次的操作还没有完成,下一次事件又进入了。

______________________________
QQ:253675026 wechat:guotx-


 回到顶部