0
FileSystemObjectを使用してファイルのリストを移動すると、権限拒否エラーが発生することがあります。これは、ファイルをクローズした後のコード処理が速すぎるタイミングの問題のようです。任意のアイデアや提案ですか?Excel VBA - ファイルシステムオブジェクトを使用してファイルを移動しようとするとアクセス許可が拒否される
FileSystemObjectを使用してファイルのリストを移動すると、権限拒否エラーが発生することがあります。これは、ファイルをクローズした後のコード処理が速すぎるタイミングの問題のようです。任意のアイデアや提案ですか?Excel VBA - ファイルシステムオブジェクトを使用してファイルを移動しようとするとアクセス許可が拒否される
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