Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请教,如何在下午 13:40 定时执行一个vba 模块里面的某过程

1楼
jazzson 发表于:2012/8/12 17:08:05

因为应用模式,需要在下午 13:40 定时执行一个vba 模块里面的Test() 过程,找了好几资料,还没有成功

 

因为第一次使用VBA,请大家帮忙一下,谢谢

2楼
jazzson 发表于:2012/8/12 17:51:56

我新创建了一个模块,模块代码如下
 
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”,对象不支持此属性或方法

 

请高手帮忙看看,谢谢
 
 

3楼
guotx2010 发表于:2012/8/12 21:35:33

使用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

 

4楼
guotx2010 发表于:2012/8/12 21:42:04

还是完整写一个代码给你吧

 

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

 

5楼
jazzson 发表于:2012/8/13 9:15:59

谢谢大侠指点!

已经调试成功!

[此贴子已经被作者于2012-8-13 9:16:21编辑过]
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.