因为应用模式,需要在下午 13:40 定时执行一个vba 模块里面的Test() 过程,找了好几资料,还没有成功
因为第一次使用VBA,请大家帮忙一下,谢谢
我新创建了一个模块,模块代码如下
Public Sub A085()
Application.OnTime TimeValue("9:30:00"), "my_Procedure"
End Sub
Public Sub my_Procedure()
MsgBox "现在是9点30分,您在10点有一个约会!"
End Sub
alt+f8 执行宏 A085 提示 编译器错误 “438”,对象不支持此属性或方法
请高手帮忙看看,谢谢
使用application对象的settimer方法设置定时器,在定时器的事件中判断时间。
application对象的使用方法请参考:http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642
在application_timer(id)事件中可以这样判断时间
if cdate(time)="13:40:00" then
你的代码
end if
还是完整写一个代码给你吧
sub application_Vbastart() 'VBA启动时执行,设置一个0号定时器,5秒轮询一次
call application.Settimer(0,5000)
end sub
sub application_timer(ID) '定时器事件,判断时间是否与你要求的时间一致,一致就执行你的代码
if cdate(time)="13:40:00" then
你的代码
end if
end sub
sub application_vbaend() 'vba停止时停止计时器
call application.killtimer(0)
end sub
谢谢大侠指点!
已经调试成功!