以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  [求助]使用Application_Timer 老是提示定义重复  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=47444)

--  作者:sw3661354
--  发布时间:2013/1/4 14:59:13
--  [求助]使用Application_Timer 老是提示定义重复

sub test01

Call Application.SetTimer(11, 1000)
End Sub


Sub APPLICATION_Timer(11)

End sub

 

使用上述代码时老是跳出警示框  不知道为什么

 

11这个ID 我是第一次用

以前都是用的Sub APPLICATION_Timer(ID)

改别的数字也没用的 请高手指教


--  作者:李雪健
--  发布时间:2013/1/4 15:05:26
--  

你再程序里,有多次的Sub APPLICATION_Timer(

这样定义过程名了


--  作者:sw3661354
--  发布时间:2013/1/4 15:09:42
--  

是的 我要多次调用 TIMER 这个事件啊 

我看说明里不是 用不同的ID 就没问题么?


--  作者:李雪健
--  发布时间:2013/1/4 15:12:53
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642

认真看看这个帖子


--  作者:sw3661354
--  发布时间:2013/1/4 15:29:14
--  

还是不行 在不同的宏过程里要用到 Sub APPLICATION_Timer(id)这句

一用这一句 就提示“定义重复”


--  作者:rushtaotao
--  发布时间:2013/1/4 15:32:35
--  
Sub Application_VBAStart()
    Call Application.SetTimer(0,2*1000)      \'设置一个0号计时器,间隔2秒执行一次
    Call Application.Settimer(9,5*1000)      \'设置一个9号计时器,间隔5秒执行一次
End Sub
 
\'下面的过程是计时器循环体,我让计时器显示每次触发的时间,你看看是不是间隔设定的秒数就触发。
Sub Application_Timer(ID)
    If ID=0 then
        Application.msgout Cdate(time) & ",0号计时器触发了"
    end if
    If ID=9 then
        Application.msgout Cdate(time) & ",9号计时器触发了"
    end if
End Sub
 
注意用IF语句来判断id号
[此贴子已经被作者于2013-1-4 15:33:21编辑过]

--  作者:李雪健
--  发布时间:2013/1/4 15:33:33
--  

Sub APPLICATION_Timer

在整个金字塔项目中只能有一个定义,如果你不同的宏里都用到定时器,那么你应该在统一的Sub APPLICATION_Timer这里面,通过ID这个参数来区分不同的定时器


--  作者:sw3661354
--  发布时间:2013/1/4 15:58:07
--  
好的 我试试 谢谢各位高手