여러 폴더에있는 파일의 이름을 바꿔야합니다. 파일 이름이 "1"또는 "main"또는 "MAIN"인 경우 다르게 이름을 바꿉니다. 모든 파일의 이름을 바꾸려는 경우 코드가 올바르게 작동하지만 형식이 일치하지 않는 오류가 표시됩니다.런타임 오류 13 유형 불일치를 디버깅하는 방법은 무엇입니까?
Sub rename()
Dim fso, fsoFolder, fsoFile, strPath, strName, fsoSubFolder, i, a
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsoFolder = fso.GetFolder("C:\Users\anu\Desktop\Black")
For Each fsoSubFolder In fsoFolder.Subfolders
For Each fsoFile In fsoSubFolder.Files
strName = fsoFile.Name
strPath = Left(fsoFile.Path, Len(fsoFile.Path) - Len(strName))
a = fsoFile.Name
If a = "main" Or "Main" Or "MAIN" Or "1" Then
fso.CopyFile strPath & strName, strPath & fsoSubFolder.Name & "_" & "Main" & ".jpg"
fso.DeleteFile strPath & strName
Else
fso.CopyFile strPath & strName, strPath & fsoSubFolder.Name & "_" & i & ".jpg"
fso.DeleteFile strPath & strName
i = i + 1
End If
Next
i = 1
Next
End Sub
어떻게 오류를 확인하지 않고 상태를 확인할 수 있습니까?
당신이 말해 줄 수 (당신은 내가 그들이해야 정확히 알고하지 않는 유형을 확인해야 할 수도 있습니다)? – NMK
전혀 실행되지 않습니다. 단지 런타임 오류 13을 보여줍니다. 즉, 조건을 확인하지 않고 If에서 Else로 파트를 제거하면 정상적으로 작동합니다. –
This ->'a = "main"또는 "main"또는 "MAIN"또는 "1"Then 각각에 대해'a'를 테스트하지 않습니다. – crashmstr