Sub cs()
Call Application.SetTimer(0,5*1000)
if time> "16:30:40" then call Application.KillTimer(0)
'if time> "16:30:40" then
' application.msgout "yes"
'else
' application.msgout "no"
'end if
End Sub
Sub Application_Timer(ID)
Application.msgout Cdate(time) & ",0号计时器触发了"
End Sub
16:29:59,0号计时器触发了
16:30:04,0号计时器触发了
16:30:09,0号计时器触发了
16:30:14,0号计时器触发了
16:30:19,0号计时器触发了
16:30:24,0号计时器触发了
16:30:29,0号计时器触发了
16:30:34,0号计时器触发了
16:30:39,0号计时器触发了
16:30:44,0号计时器触发了
16:30:49,0号计时器触发了
16:30:54,0号计时器触发了
16:30:59,0号计时器触发了
16:31:04,0号计时器触发了
[此贴子已经被作者于2014/7/29 16:39:21编辑过]
时间格式不对,改成 time > TimeSerial(
16,30,40 ) 再试试
没用!还是照样.
其实,time> "16:30:40"这个写法我是调试通过了的
[此贴子已经被作者于2014/7/29 21:19:28编辑过]
[此贴子已经被作者于2014/7/29 21:23:06编辑过]
Call Application.SetTimer(0,5*1000)
if time> "16:30:40" then
application.msgout "yes"
call Application.KillTimer(0)
end if
加上调试语句看看killtimer代码行到底执行过没有
很神奇啊
单独调试
if time> "21:30:40" then
application.msgout "yes"
else
application.msgout "no"
end if
这句是正确的,通过了的.但是按照王峰的写法调试
Call Application.SetTimer(0,5*1000)
if time> "16:30:40" then
application.msgout "yes"
call Application.KillTimer(0)
end if
到了时间点竟然条件语句不能进入if的语句块,没输出"yes"!我也改成2楼的方法试过了,也是一样.何解???
Call Application.SetTimer(0,5*1000)
application.msgout time
if time> "16:30:40" then
application.msgout "yes"
call Application.KillTimer(0)
end if
再加上调试语句看看time是个什么值,要学会自己独立调试,学会用逻辑思维解决问题
使用Cdate(time)>Cdate("16:30:40")比较时间