多语言展示
当前在线:1221今日阅读:22今日分享:22

vba timer控件的使用

VBA中不自带VBA控件,需要使用Timer控件的话,需要我们调用Windows系统API函数SetTimer和KillTimer,从而实现Timer的功能,以Excel 2013 64位系统为例介绍Timer在VBA上的简单应用。
工具/原料

EXCEL VBA

方法/步骤
1

打开Excel,ALT+F11进入VBA,新建一个模块,输入关于定时器的代码,如下:Public Declare PtrSafe Function SetTimer Lib 'user(这里连起来)32' ( _    ByVal HWnd As Long, _    ByVal nIDEvent As Long, _    ByVal uElapse As Long, _    ByVal lpTimerFunc As LongPtr) As LongPublic Declare PtrSafe Function KillTimer Lib 'user(这里连起来)32' ( _    ByVal HWnd As Long, _    ByVal nIDEvent As Long) As LongPublic TimerID As LongPublic TimerSeconds As SingleSub StartTimer()    TimerSeconds = 1    TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf  TimerProc)End SubSub EndTimer()    On Error Resume Next    KillTimer 0&, TimerIDEnd SubSub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _        ByVal nIDEvent As Long, ByVal dwTimer As Long)      UserForm1.TextBox1.Text = Now()End Sub

3

双击窗体上的按钮,进入按钮的点击事件,调用定时器的启动函数:StartTimer

4

在窗体的退出添加事件,关闭定时器:EndTimer

注意事项
1

如果不用定时器,请关闭定时器,不然会造成Excel的异常退出!

2

如果喜欢本经验,请关注我。可以把它分享给您的朋友,请点个投票点个收藏。谢谢,您的支持是我最大的动力。

推荐信息