2016-05-06 28 views
0

Gibt es eine Möglichkeit zu überprüfen, bis Datei in VBA vorhanden ist.So überprüfen Sie, bis die Datei existiert

was ich versuche zu tun ist, VBA Aufruf asynch machen.

Jetzt, nachdem ich

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

Ich möchte überprüfen laufen, bis Datei wie diese

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

existiert, ist es eine Möglichkeit, in vba?

Ich verwende Wort VBA.

Antwort

1

Sie es wie folgt tun:

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, "" 

Obwohl dies sicherlich nicht die beste Methode


Statt mit Application.Wait, können Sie schlafen verwenden:

Sleep 1000 '1 Second 

aber Sie müssen dies Ihrem Code hinzufügen, um es verwenden zu können:

#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

Danke. "armer Onkel ist besser als kein Onkel" – Rahul

+0

Ich übertreffe es funktioniert. Word zeigt jedoch Fehler bei .wait 'Methode oder Daten nicht gefunden ' – Rahul

+0

Überprüfen Sie die bearbeitete Antwort – gizlmo

Verwandte Themen