Цикл во всех подпапках прерывается в невидимых позициях.
VBA не выдает никаких сообщений об ошибках. Файл, обрабатываемый в тот момент, когда код останавливается, время от времени отличается.
Открываемые файлы являются необработанными, не ascii файлами. Excel может конвертировать их в CSV-файлы для дальнейшей пакетной обработки.
Я пробовал оба следующих цикла с одинаковым результатом:
1. Прокрутка всех подпапок с использованием VBA
2. Прокрутка подпапок и файлов в указанном пользователем корневом каталоге
Sub LoopFolders()
Dim FileSystem As Object
Dim HostFolder As String
HostFolder = "c:\abc\Donnees_de_production\"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False ' Deactivate Screenupdating
DoFolder FileSystem.GetFolder(HostFolder)
Application.ScreenUpdating = True
End Sub
Sub DoFolder(Folder)
Dim SubFolder As Object
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
Next
Dim File As Object
For Each File In Folder.Files
' Operate on each file
Workbooks.Open FileName:=File.Path
' MsgBox File.Path & ".csv"
ActiveWorkbook.SaveAs FileName:=File.Path & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close
Next
End Sub
У меня есть около 6500 файлов для преобразования в CSV. Примерно через 1200 казнь прекращается. Я понятия не имею, почему.
Я высоко ценю любую помощь или идеи!
Спасибо.