我上述例子程序改成了
Sub Application_VBAStart() 'Rem ;Application启动后的事件
Call Application.SetTimer(0,2*1000) '设置一个系统定时器,指定一个定时值,每当发生超时,则发生一个Timer事件,并返回ID。
Call Application.SetTimer(9,5*1000)
If ID=0 Then
i = i+1
Application.MsgOut CDate(time) & ",0号计时器触发了" & i & "次"
End if
If ID=9 Then
j = j+1
Application.MsgOut CDate(time) & ",9号计时器触发了" & j & "次"
End if
End Sub
Sub Application_VBAEnd()
Call Application.KillTimer(0)
Call Application.KillTimer(9)
End Sub
结果金字塔启动后,消息窗口就只显示两次1,,也就是说,分别在2秒和9秒显示了一次1,就再也不显示了。不明白为什么在这种情况下,计时器就只触发一次??可以解释一下吗??不是很懂。。。