2016-07-02 12 views

Antwort

0

Ich endete mit dem folgenden Block von Do While-Code, der eine Sekunde wartet und dann erneut versucht. Ich habe nie mehr als einen Wiederholungsversuch gesehen, um den Umzug durchzuführen. Ich habe die meisten Variablendefinitionen usw. der Kürze wegen weggelassen.

Dim fso As FileSystemObject 
Set fso = New FileSystemObject 
On Error Resume Next 
Do 
    Err.Clear 
    Call fso.MoveFile(strTemporaryFileName, strFileName) 
    ' Permission denied. 
    If Err.Number = 70 Then 
     lngRetries = lngRetries + 1 
     ' Wait approximately 1 second and try again - Have never known it to take more than one retry. 
     Call Application.Wait(Now + TimeValue("0:00:01")) 
     Debug.Print "Retrying file move - Error 70, Permission Denied found at " & Now & " " & fso.GetFileName(strFileName) 
    End If 
    If lngRetries > 5 Then 
     Call MsgBox("File cannot be created for " & fso.GetFileName(strFileName), vbOKOnly Or vbCritical, "Excel Error") 
     Exit Do 
    End If 
Loop While Err.Number = 70 
Set fso = Nothing 
Verwandte Themen