几年前我写了一个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"然而,所有的动作都发生在一次大跳跃中。程序首先执行睡眠,然后执行其他所有操作而不会暂停。我做错了什么?
答案 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
代替