Спать в VBA (целочисленный переполнение !!)
-
05-10-2019 - |
Вопрос
В VBA вы можете
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
обеспечить себя рутиной сна.
Однако Long
Это должно быть передано в процедуру, представляется переполнению для значений, превышающих 32000 миллисекунд.
Есть ли способ спать на более длительные периоды времени без сложности струны вместе несколько последовательных вызовов на рутину сна?
Решение
Нет, это не переполняется, если ваш код не вычисляет необходимое количество миллисекунд, вызывает переполнение.
Пример:
dim t as long
t = 10000 * 10000 / 10000 'Overflow
Пример 2:
dim t as long
t = 10000! * 10000 / 10000 'Ok
Не связан с StackOverflow