请问VBA延时函数有什么用怎么写CPU占用率更低


━━━━━━━━━━━━━━━━━━━━━━━━━
timer 控件只能精确到55毫秒
算法要和主频有关,无法对每个机子精确.
━━━━━━━━━━━━━━━━━━━━━━━━━

1、Timer()函数vb自有函数,非API无须声明,且精确到毫秒推荐!!!


返回一个 Single,代表从午夜开始到现在经过的秒数
运用 Timer 函数来计算本代碼运行所化的时间。

这是用的最多的一种方法,也是在VB联机手册中所推荐的添加一个Commanon控件,再将以下代码添加到代码窗口中:

━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━

}

【导读】大家好我们今日继续講解VBA代码解决方案的第82讲内容:如何利用代码让程序延时,SLEEP函数和timeGetTime函数两个API函数的讲解在上一讲中我们讲了使用Wait方法,但这种方法的不足是只能提供精度为1秒的延时如果需要更低精度的延时...

大家好,我们今日继续讲解VBA代码解决方案的第82讲内容:如何利用代码让程序延时SLEEP函数和timeGetTime函数两个API函数的讲解。

在上一讲中我们讲了使用Wait方法但这种方法的不足是只能提供精度为1秒的延时,如果需要更低精度的延时需要使用Sleep API函数,如下面的代码所示

MyTypeDemo过程模拟打字效果在单元格A1中输入一行文字。"欢迎你来到这个平台学习VBA!"

在第6行到第9行代码在每次循環时增加显示的数据并且在每次增加时使用Sleep语句延时200毫秒,好像字符逐个输入从而达到模拟打字的效果.

在上面的实例中,对于精确延時使用的sleep函数使用这个函数要注意的是,由于这个函数是Windows API函数使用前必须先声明,然后使用 虽然sleep函数延时是毫秒级的,精确度比较高但它在延时时会将程序挂起,使操作系统暂时无法响应用户操作所以在长延时的时候不适合使用它。

更好的办法是使用timeGetTime函数timeGetTime函数返回的是开机到现在的毫秒数,可以支持1毫秒的间隔时间而且永远增加,不存在回头的问题当然不是永远不回头,毕竟Long型变量(双字4字节)也是有取值范围的,这个值在0到2^32之间大约49.71天。

延时函数有什么用和上面的一样只是将sleep函数换成timeGetTime:

注意:延时时间单位是毫秒。由于延时函数有什么用中使用了 DoEvents语句交出了系统控制权所以不会影响用户的其它操作。

1 如何实现程序的延时呢

2 本节讲了两种延时的方式,是否理解呢

免责申明:本栏目所发资料信息部分来自网络,仅供大家学习、交流我们尊重原创作者和单位,支持正版若本文侵犯了您的权益,请直接点击

}

vba直接就有sleep函数, 不需要在做额外判斷

并且感觉你这一段不需要用到这个功能,

你对这个回答的评价是

你对这个回答的评价是?

}

我要回帖

更多关于 延时函数有什么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信