thomas1972
Goto Top

Prüfe ob datei vorhanden, falls nicht prüfe weiter....stopp nach 10 min

Hallo,

ich möchte per VBA in Excel prüfen lassen, ob eine Datei X im Verzeichnis Y vorhanden ist
Diese Prüfung soll als Schleife laufen, da ein externes Programm diese Datei bereit stellt, nur weis ich nicht, wann dieses erfolgt.
Gleichzeitig möchte ich, dass diese Schleife nach 10 Minuten sich beendet, falls bis dahin die Datei immer noch nicht vorhanden ist

Prüfen ob Datei vorhanden ist geht ja noch

    If Dir("C:\test.txt") = "" Then   
         MsgBox "gibts nicht"   
       Else 
         MsgBox "gibts"   
     End If

nur wo bringe ich die Schleife, vor allem den Stopp nach 10 Minuten ein?

Content-Key: 258573

Url: https://administrator.de/contentid/258573

Printed on: April 23, 2024 at 22:04 o'clock

Mitglied: 116301
Solution 116301 Dec 28, 2014 updated at 20:42:20 (UTC)
Goto Top
Hallo thomas1972!

In etwa so:
Sub Test()
    If IsFileExists("C:\Test.txt") Then  
        MsgBox "existiert"  
    Else
        MsgBox "existiert nicht"  
    End If
End Sub

Private Function IsFileExists(ByRef sFileName) As Boolean
    Dim dStopTime As Date
    
    dStopTime = DateAdd("n", 10, Now)   'Stopzeit (maximal 10 Minuten)  
    
    Do While dStopTime > Now
        DoEvents
        If Dir(sFileName) <> "" Then  
            IsFileExists = True:  Exit Do
        End If
        Call WaitOfTime(10)             'Wartezeit (alle 10 Sekunden prüfen)  
    Loop
End Function

'Funktion Warten in Sekunden (1s = 1, 100ms = 0.1, 500ms = 0.5, 50ms = 0.05...)  
Private Sub WaitOfTime(ByVal dSecond As Double)
    Dim dStopTime As Double
    dStopTime = Date + ((Timer + dSecond) / 86400)
    Do While dStopTime >= (Date + Timer / 86400)
        DoEvents
    Loop
End Sub

Grüße Dieter
Member: thomas1972
thomas1972 Dec 28, 2014 at 20:42:15 (UTC)
Goto Top
Hallo Dieter,
Vielen dank,
Genau so dachte ich mir das.
Danke