当前位置:  开发笔记 > 后端 > 正文

是否与VBA中的Thread.Sleep()等效

如何解决《是否与VBA中的Thread.Sleep()等效》经验,为你挑选了4个好方法。

Thread.Sleep()在Access VBA中是否有相同的功能?



1> Otávio Décio..:
Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
(ByVal dwMilliseconds As Long)

使用以下语法调用Sleep函数:

Sub Sleep()
Sleep 1000 'Implements a 1 second delay
End Sub 



2> DontFretBret..:

不使用kernel32的另一种方法:

Dim started As Single: started = Timer

Do: DoEvents: Loop Until Timer - started >= 1



3> 小智..:

需要进行一些修改才能使代码生效.以下代码是更正后的版本.

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

Sub SleepVBA() 
Sleep 1000 'Implements a 1 second delay 
End Sub 



4> 小智..:

使Excel等待的所有其他方法导致Excel变得完全没有响应.使Excel等待同时确保响应式UI的解决方案是使用等待的秒数来调用此等待Sub.

    Sub Wait(seconds As Integer)
      Dim now As Long
      now = Timer()
      Do
          DoEvents
      Loop While (Timer < now + seconds)
    End Sub

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有