Мне нужно выполнить определенную задачу над некоторыми файлами Excel, расположенными в подпапках (которые находятся внутри папки). Эта задача должна исключать все те имена файлов, которые содержат букву "v"
.
Я использовал длину имени файла, так как файлы, которые я хочу использовать, имеют такую длину (имена файлов с буквой "V" имеют более 28 символов). Вот мой код.
Sub test()
Application.ScreenUpdating = False
Dim Fso As Object, objFolder As Object, objSubFolder As Object
Dim FromPath As String
Dim FileInFolder As Object
FromPath = "C:\Prueba"
Set Fso = CreateObject("Scripting.filesystemobject")
Set objFolder = Fso.GetFolder(FromPath)
For Each objSubFolder In objFolder.Subfolders
Dim wbk As Workbook
Dim Filename As String, File As Variant
Path = objSubFolder.Path
Filename = Dir(Path & "\*.xlsx")
For Each File In objSubFolder.Files
If Len(Filename) = 28 Then
Do something
wbk.Close True
Filename = Dir
End If
Next File
Next objSubFolder
ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Этот код работает нормально, пока не достигнет файла с "V". Он просто застрял в этом файле (ничего не делать, что хорошо), а затем переходит в следующую подпапку, игнорируя все оставшиеся файлы Excel.
Мне нужен совет, как с этим справиться.
ТНХ