在 VBA 中睡觉(整数溢出!!)
Posted
技术标签:
【中文标题】在 VBA 中睡觉(整数溢出!!)【英文标题】:Sleeping in VBA (Integer Overflow!!) 【发布时间】:2011-02-25 05:28:17 【问题描述】:在 VBA 中你可以
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
为自己提供睡眠习惯。
但是,对于超过 32000 毫秒的值,必须传递给例程的 Long
似乎会溢出。
有没有一种方法可以让睡眠更长时间,而无需将多个连续调用睡眠例程的复杂性串联在一起?
【问题讨论】:
在循环中调用Sleep
算作“将几个连续的调用串在一起”吗?
【参考方案1】:
不,它不会溢出,除非计算所需毫秒数的代码导致溢出。
例子:
dim t as long
t = 10000 * 10000 / 10000 'Overflow
示例 2:
dim t as long
t = 10000! * 10000 / 10000 'Ok
【讨论】:
你是对的。问题只是我没有指定我的论点是一个足够明确的 Long。以上是关于在 VBA 中睡觉(整数溢出!!)的主要内容,如果未能解决你的问题,请参考以下文章