2017-01-14 25 views
-2

У меня есть следующий код VBA:Wscript.sleep 1000 не работает

Set wshshell = CreateObject("WScript.Shell") 
wshshell.SendKeys "{F3}" 
WScript.Sleep 1000 

Я получаю следующее сообщение об ошибке на WSCript.Sleep линии:

Время работы Ошибка 424: Требуется объект

+3

Не могли бы вы предоставить подробную информацию о вашей системе. Предоставленная информация неадекватна для надлежащего анализа. Посмотрите http://stackoverflow.com/help/how-to-ask по этой ссылке –

+0

Этот код работает для меня - никаких ошибок не генерируется - и, если я переключаю последние два утверждения вокруг, есть задержка на 1 секунду раньше выполняется «F3». – YowE3K

+1

Вы пытаетесь сделать это в VBA или в WScript? – YowE3K

ответ

1

WScript.Sleep работает только при использовании внутри скриптов управления хостом. VBA не поддерживает его. Однако вы можете использовать следующий пример для задержки.

#If VBA7 Then 
     Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
    #Else 
     Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
    #End If 
    Sub Test() 

     MsgBox "one" 
     Sleep 1000 
     MsgBox "Two" 
    End Sub 
+0

Связанные - [A: http://stackoverflow.com/questions/1544526/how-to-pause-for-specific-amount-of-time](http://stackoverflow.com/a/23550879/692942) – Lankymart