1
폴더의 각 파일을 처리하는 루프가 있습니다. 경우 파일이 손상되어 열 수 없습니다, 내가 원하는 : - 사용자 에 오류 메시지를 표시 - 나머지 코드 의 실행 중지 - 다음 파일 문제가VBscript 오류 처리 - "For Each"루프의 다음 항목으로 이동
에 루프를, 루프의 시작 부분에서 파일을 열 수 없다면 여전히 많은 코드가 실행되어 다른 오류가 발생합니다. 루프를 종료 할 수 없습니다. 이는 모든 파일이 처리되지 않고 코드 실행을 계속할 수 없다는 것을 의미하기 때문입니다. 아래의 코드 부분을 참조하십시오.
Set fso = CreateObject("Scripting.FileSystemObject")
For each objFile in fso.GetFolder(".").Files
If lCase(fso.GetExtensionName(objFile)) = srcExtName Then
Set app = GetNewAppInstance (Program)
Set fileHandle = GetNewFileHandler(app)
On Error Resume Next
Set objOpenFile = fileHandle.Open(objFile.path)
If err.number <> 0 Then
next
MsgBox "The file " & objFile.name & " cannot be opened. Please verify that the file is not corrupted or locked." & vbNewLine & "The file will be skipped."
Set fileHandle = nothing : app.Quit : Set app = nothing
<<< How can I jump to the next file from here ? >>>
End If
On error goto 0
strSrcPath = fso.BuildPath(objOpenFile.path, fso.GetBaseName(objOpenFile.name) & "._temp")
objOpenFile.SaveAs strSrcPath, tmpExtNum
objOpenFile.Close
Set objOpenFile = nothing
Set fileHandle = nothing
app.Quit : Set app = nothing
Set app = GetNewAppInstance (Program)
Set fileHandle = GetNewFileHandler(app)
Set objOpenFile = fileHandle.Open(strSrcPath)
strTgtPath = fso.BuildPath(objOpenFile.path, fso.GetBaseName(objOpenFile.name) & "." & srcExtName)
objOpenFile.SaveAs strTgtPath, srcExtNum
objOpenFile.Close
fso.DeleteFile(strSrcPath)
Set objOpenFile = nothing
Set fileHandle = nothing
app.Quit : Set app = nothing
End If
Next
End Sub
고마워요!
간단합니다! 고마워요! – Bartosz
문제가 없습니다. 다행히 도울 수있어 :) –