В този урок ще научите как да получите имената на всички файлове в папка и да ги поставите в работен лист.
Вместо това, ако искате да научите как да проверите дали файл съществува, можете да кликнете върху тази връзка: VBA File Exists
Използване на FileSystemObject за получаване на списъка с файлове в папка
VBA ви позволява да изброявате всички файлове от папка, като използвате FileSystemObject.
Ще покажем как да получите списък с файлове в папката C: \ VBA папка и го поставете в първата колона на работния лист. Тази папка се състои от 5 файла, както е показано на Изображение 1:
Изображение 1. Файлове в папка C: \ VBA папка
Ето кода:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO As ObjectЗатъмняване на папка като обектDim oFile As ObjectDim i As IntegerЗадайте oFSO = CreateObject ("Scripting.FileSystemObject")Задайте oFolder = oFSO.GetFolder ("C: \ VBA папка")За всеки oFile In oFolder.FilesКлетки (i + 1, 1) = oFile.Namei = i + 1Следващ oFileEnd Sub |
В примера първо създайте обект от класа Scripting.FileSystemObject:
1 | Задайте oFSO = CreateObject ("Scripting.FileSystemObject") |
След това задайте папката, като използвате метода GetFolder:
1 | Задайте oFolder = oFSO.GetFolder ("C: \ VBA папка") |
Следващ цикъл през всеки файл в oПапка, използвайки oFile.Name to вземете името на всеки файл в папката и го запишете в следващия празен ред:
123456 | За всеки oFile In oFolder.FilesКлетки (i + 1, 1) = oFile.Namei = i + 1Следващ oFile |
Изображение 2. Работен лист със списъка с файлове в папката
Както можете да видите на Изображение 2, всичките 5 файла от папката C: \ VBA са изброени в първата колона.