2016-05-06 5 views
0

Есть ли способ проверить, существует ли файл в VBA.Как проверить, существует ли файл

что я пытаюсь сделать, изготовление vba call асинхронный.

Теперь после того, как я бегу

wshShell.Run """" & SFilename & """" & s 

Я хочу, чтобы проверить, пока файл не существует, как этот

Wait until fso.fileexists("file") 
    Msgbox "file is now available" 
End wait!!! 

есть ли способ в VBA?

Я использую слово vba.

ответ

1

Вы можете сделать это следующим образом:

Do 

    If fso.FileExists("file") Then 

     Exit Do 
    End If 

    DoEvents 'Prevents Excel from being unresponsive 
    Application.Wait Now + TimeValue("0:00:01") 'wait for one second 
Loop 

MsgBox "file available", vbOKOnly, "" 

Хотя это, конечно, не лучший метод


Вместо использования Application.Wait, вы можете использовать сон:

Sleep 1000 '1 Second 

, но вам нужно добавить это в свой код, чтобы использовать его:

#If VBA7 Then 
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64 Bit Systems 
#Else 
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds as Long) 'For 32 Bit Systems 
#End If 
+2

Спасибо. «Бедный дядя лучше, чем не дядя» – Rahul

+0

Я преуспел в этом. Word однако показывает ошибку в .wait 'метод или данные не найдены' – Rahul

+0

Проверить отредактированный ответ – gizlmo

Смежные вопросы