У цьому посібнику ви дізнаєтесь, як отримати імена всіх файлів у папці та розмістити їх на робочому аркуші.
Натомість, якщо ви хочете дізнатися, як перевірити, чи існує файл, ви можете натиснути на це посилання: Файл VBA існує
Використання FileSystemObject для отримання списку файлів у папці
VBA дозволяє перераховувати всі файли з папки за допомогою FileSystemObject.
Ми покажемо, як отримати список файлів у папці C: \ Папка VBA і помістіть його в перший стовпець аркуша. Ця папка складається з 5 файлів, як показано на зображенні 1:
Зображення 1. Файли в папці C: \ VBA Folder
Ось код:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO As ObjectЗатемнити папку як об’єктDim oFile As ObjectDim i як ціле числоВстановити oFSO = CreateObject ("Scripting.FileSystemObject")Встановити oFolder = oFSO.GetFolder ("C: \ VBA Folder")Для кожного файлу 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 Folder") |
Наступний цикл через кожен файл у oПапка, використовуючи oFile.Name to отримати ім’я кожного файлу у папці та записати його у наступному порожньому рядку:
123456 | Для кожного файлу oFile In oFolder.FilesКлітинки (i + 1, 1) = oFile.Namei = i + 1Наступний oFile |
Зображення 2. Робочий лист зі списком файлів у папці
Як ви можете бачити на зображенні 2, усі 5 файлів із папки C: \ VBA перераховані у першому стовпці.