您的位置 首页 > 数码极客

VBA中如何调用net控件

大家好,今日继续讲解我们的VBA代码第三十五讲,利用VBA代码实现"定时器"功能。

Excel VBA并没有提供定时器控件,但是用户可以通过Application对象的OnTime方法实现简单的定时器功能,应用于Application对象的OnTime方法能够安排一个过程在将来的特定时间运行,语法如下: ex(EarliestTime, Procedure, LatestTime, Schedule)

参数:

a) expression是必需的,返回一个Application对象。

b) EarliestTime是必需的,设置指定的过程开始运行的时间。使用Now + TimeValue(time)可以安排从现在开始经过一段时间之后运行某个过程,使用TimeValue(time)可以安排在指定的时间运行某个过程。

c) Procedure是必需的,设置要运行的过程名称。

d) LatestTime是可选的,设置过程开始运行的最晚时间。例如将参数LatestTime设置为EarliestTime+10,当时间到了EarliestTime时如果Excel不处于空闲状态,那么Excel将等待10秒,如果在10秒内Excel不能回到空闲状态,则不运行该过程。如果省略该参数,Excel将一直等待到可以运行该过程为止。

e) Schedule是可选的,如果其值为True(默认值),则安排一个新的OnTime过程,如果其值为False,则清除先前设置的过程。

如下面的代码所示。

Sub MyStartTimer()

S(1, 2) = S(1, 2) + 1

A Now + TimeValue("00:00:01"), "MyStartTimer"

End Sub

代码解析:MyStartTimer过程,使用Application对象的OnTime方法循环调用MyStartTimer过程实现每隔一秒钟运行一次MyStartTimer过程,从而在B1单元格中不断地显示程序累计运行时间,

第2行代码将B1单元格的值在原有的数字上加1。

第3行代码使用OnTime方法在1秒后重新调用StartTimer过程,使B1单元格的值不断的加1,从而显示程序累计运行时间。

取消定时的代码如下:

Sub MyEndTimer()

On Error GoTo 100

A Now + TimeValue("00:00:01"), "MyStartTimer", , False

S(1, 2) = 0

Exit Sub

100:

MsgBox "请先按[ON]按钮!"

End Sub

代码解析:MyEndTimer过程取消MyStartTimer过程的定时。

第2行代码错误处理语句,因为如果还没有运行MyStartTimer过程而先运行MyEndTimer过程取消定时,程序会提示错误,因此使用On Error GoTo Line语句在错误发生时执行第7行代码显示一个如图 66 3所示的提示消息框。

第3行代码将MyStartTimer过程的Schedule参数设置为False,取消定时设置。

先看下面的代码窗口:

运行窗口:

停止窗口:

今日内容回向:

1 OnTime 方法的作用是什么?

2 EXCEL中定时器是如何实现的?

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“VBA中如何调用net控件,手机如何调用vba”边界阅读