以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 除了sleep函数(会假死),VBA延时如何简单的实现? (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=159024) |
-- 作者:qq代人发帖 -- 发布时间:2017/10/27 16:59:26 -- 除了sleep函数(会假死),VBA延时如何简单的实现? 请教:除了sleep函数(会假死),VBA延时如何简单的实现?
|
-- 作者:FexTel -- 发布时间:2017/10/27 17:05:22 -- 4、该示例使用金字塔的VBS系统调用WINDOWS API中的Sleep函数来实现延时功能
另外你VB某些过程的执行是受定时器控制的 |
-- 作者:低收益 -- 发布时间:2017/10/27 17:14:01 -- 试过了,会假死。 Sub StockSleep(slSecond) Set Wrap = CreateObject("DynamicWrapperX") Wrap.Register "KERNEL32.DLL", "Sleep","i=u","r=l" Wrap.Sleep(slSecond) End Sub 会假死
|
-- 作者:无为剑 -- 发布时间:2017/10/27 19:01:37 -- 没有简单方案,不假死你可以采取下面2个解决方案 2,自己做个循环函数 参考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=62158&skin=0 |
-- 作者:guotx2010 -- 发布时间:2017/10/29 10:17:25 -- 记录上次执行的时间,下次执行前,取出上次的时间,跟最新的时间比较,计算间隔的秒数,没有达到就不执行,达到就执行。 1、记录执行时间,可以记录到全局变量,如:call document.SetExtString("LastTime",Cdate(Time)). 2、执行代码前,取出全局变量LastTime,如:sLastTime=document.GetExtString("LastTime"). 3、判断上次执行时间与最新时间的间隔秒数,nMs=DateDiff("s",sLastTime,Cdate(Time)) 4、判断秒数是否超过你自己需要延时的秒数,没有就不执行,超过就执行,如:if nMs>10 then 执行后续代码 |