2016-07-02 7 views

答えて

0

Do Whileコードのブロックを使用して、2秒待ってからもう一度試しました。私は移動を達成するのに必要な再試行は複数回見たことがありません。私は、簡潔さのために、変数定義などのほとんどを省いた。

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 
関連する問題