В этом руководстве вы узнаете, как получить имена всех файлов в папке и поместить их в рабочий лист.
Вместо этого, если вы хотите узнать, как проверить, существует ли файл, вы можете щелкнуть по этой ссылке: Файл VBA существует.
Использование объекта FileSystemObject для получения списка файлов в папке
VBA позволяет вам перечислить все файлы из папки, используя FileSystemObject.
Мы покажем, как получить список файлов в папке. C: \ VBA Папка и поместите его в первый столбец рабочего листа. Эта папка состоит из 5 файлов, как показано на рисунке 1:
Изображение 1. Файлы в папке C: \ VBA Folder
Вот код:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO как объектDim oFolder As ObjectDim oFile As ObjectDim i как целое числоУстановите oFSO = CreateObject ("Scripting.FileSystemObject")Установите oFolder = oFSO.GetFolder ("C: \ VBA Folder")Для каждого oFile в oFolder.FilesЯчейки (i + 1, 1) = oFile.Nameя = я + 1Следующий oFileКонец подписки |
В примере сначала создайте объект класса Scripting.FileSystemObject:
1 | Установите oFSO = CreateObject ("Scripting.FileSystemObject") |
Затем установите папку с помощью метода GetFolder:
1 | Установите oFolder = oFSO.GetFolder ("C: \ VBA Folder") |
Следующий цикл по каждому файлу в oFolder, с использованием oFile.Name для получить имя каждого файла в папке и записать его в следующей пустой строке:
123456 | Для каждого oFile в oFolder.FilesЯчейки (i + 1, 1) = oFile.Nameя = я + 1Следующий oFile |
Изображение 2. Рабочий лист со списком файлов в папке.
Как вы можете видеть на изображении 2, все 5 файлов из папки C: \ VBA перечислены в первом столбце.