我需要重命名多个文件夹中的文件。如果文件名是“1”或“主”或“主”,我想重新命名为不同。如果我想要重命名所有文件,但现在显示的类型不匹配错误,代码将正常工作。如何调试运行时错误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 2014-10-09 17:49:52
它没有运行。它只是显示运行时错误13.如果我从If If Else中删除部分,即不检查该条件,它工作正常。 – 2014-10-09 17:53:25
这个 - >'如果a =“main”或者“Main”或者“MAIN”或者“1”Then''不会对每个都测试'a'。 – crashmstr 2014-10-09 17:53:46