VBA списък файлове в папка

В този урок ще научите как да получите имената на всички файлове в папка и да ги поставите в работен лист.

Вместо това, ако искате да научите как да проверите дали файл съществува, можете да кликнете върху тази връзка: 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 са изброени в първата колона.

wave wave wave wave wave