Использование файлов в папке - исключения VBA - PullRequest
0 голосов
/ 31 мая 2019

Мне нужно выполнить определенную задачу над некоторыми файлами 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.

Мне нужен совет, как с этим справиться.

ТНХ

...