睡眠功能无法按顺序工作

时间:2016-07-04 21:29:26

标签: vba

几年前我写了一个VBA excel程序,其中有一个使用sleep的移动图形,如下所示:

For i = 1 To (H - V) 'move in horizontal plane
With Selection
.Left = .Left - 3
End With
Sleep 10
Next i

我用kernal32调用了sleep函数,在模块顶行上方有一行代码。一切都运作良好

我升级到64位机器 - 全部停止工作。我添加了短语" PtrSafe"然而,所有的动作都发生在一次大跳跃中。程序首先执行睡眠,然后执行其他所有操作而不会暂停。我做错了什么?

1 个答案:

答案 0 :(得分:0)

https://msdn.microsoft.com/en-us/library/office/gg264421.aspx

#If Vba7 Then 
Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#Else 
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#EndIf

该值以毫秒为单位,因此您可以使用Sleep 10000代替