以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  [求助]如何使用定时器,sub刷新问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=3903)

--  作者:明心
--  发布时间:2010/11/17 9:20:56
--  [求助]如何使用定时器,sub刷新问题
一个sub刷新频率为30分钟,一个sub刷新频率为5秒,这个怎么设置?本来想一起按照频率高的刷新,但是,这样整体的速度就会很慢,影响统计的结果。
--  作者:wattwei
--  发布时间:2010/11/17 9:24:44
--  
 设两个定时器,一个5秒触发一次,一个30分钟。然后在定时器的响应函数里分别调用这两个sub
--  作者:明心
--  发布时间:2010/11/17 9:39:07
--  

一个我知道这么写

Sub APPLICATION_VBAStart()
 call Application.SetTimer(0,10000) \'创建一个0号定时器,间隔时间1秒
End Sub

 

Sub APPLICATION_Timer(ID)
    \'定时器事件处理

end sub

 

但两个怎么处理??

 

Sub APPLICATION_VBAStart1()
 call Application.SetTimer(0,500000) \'创建一个0号定时器,间隔时间1秒
End Sub

 

Sub APPLICATION_Timer1(ID)
    \'定时器事件处理

end sub

 

Sub APPLICATION_VBAStart2()
 call Application.SetTimer(0,3000000) \'创建一个0号定时器,间隔时间1秒
End Sub

 

Sub APPLICATION_Timer2(ID)
    \'定时器事件处理

end sub

 

是这样写吗

 

 

 

APPLICATION_VBAStart2()
APPLICATION_Timer2(ID)
这样写的系统都识别不了的。他只能识别

APPLICATION_VBAStart()
APPLICATION_Timer(ID)
所以第二个不知道怎么写

[此贴子已经被作者于2010-11-17 9:43:15编辑过]

--  作者:admin
--  发布时间:2010/11/17 9:42:45
--  

Sub APPLICATION_VBAStart()
 call Application.SetTimer(0,1000) \'创建一个0号定时器,间隔时间1秒

call Application.SetTimer(1,5000) \'创建一个1号定时器,间隔时间5秒
End Sub

 

Sub APPLICATION_Timer(ID)
    \'定时器事件处理

 If ID = 0 then

end if

 

if ID = 1 then

end if

 

end sub

[此贴子已经被作者于2010-11-17 9:42:59编辑过]

--  作者:明心
--  发布时间:2010/11/17 9:43:55
--  

谢谢。

知道了。


--  作者:wattwei
--  发布时间:2010/11/17 9:46:28
--  
 这样写,定时器的回调函数的格式是规定了的,不能随便改
Sub APPLICATION_VBAStart()
 call Application.SetTimer(1,5000) \'创建一个1号定时器,间隔时间5秒
call Application.SetTimer(2,1800000) \'创建一个2号定时器,间隔时间30分
End Sub

Sub APPLICATION_Timer(ID)
    \'定时器事件处理

    Select Case ID
            Case 1

                call test1()

            Case 2

                call test2()

      End Select

end sub


sub test1()

end sub


sub test2()

end sub