/ / Файли в каталозі в Excel VBA

Файли в каталозі в Excel VBA

Нижче ми розглянемо програму в Росії Excel VBA це петлі за допомогою всіх закритих робочих книг та листів в каталог, і відображає всі імена.

Завантажте Book1.xls, Book2.xls, Book3.xls, Book4.xls і Book5.xls і додайте їх до "C: test"

Ситуація:

Файли в прикладі каталогу

Додайте наступні кодові рядки до кнопки команди:

1. По-перше, ми оголошуємо дві змінні типу String, об'єкт Worksheet і дві змінні типу Integer.

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer

2. Щоб уникнути появи мерехтіння екрана, вимкніть оновлення екрану.

Application.ScreenUpdating = False

3. Ініціалізація каталогу змінної. Ми використовуємо функцію Dir, щоб знайти перший * .xl ?? файл, що зберігається в цьому каталозі.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

Примітка. Функція Dir підтримує використання декількох символів (*) та символів одиночного символу (?) Для пошуку всіх різних типів файлів Excel.

4. Ім'я змінної filename тепер містить назву першого файлу Excel, знайденого в каталозі. Додайте цикл Do While Loop.

Do While fileName <> ""

Loop

Додайте наступні кодові рядки (на 5, 6, 7, 8 і 9) до циклу.

5. Ініціалізація змінних типу Integer та додавання назви файлу Excel до першого стовпця рядка i.

i = i + 1
j = 2
Cells(i, 1) = fileName

6. Не існує простих способів отримання даних (або назв аркушів) із закритих файлів Excel. Тому ми відкриваємо файл Excel.

Workbooks.Open (directory & fileName)

7. Додати всі назви аркушів файлу Excel до інших стовпців рядка i.

For Each sheet In Workbooks(fileName).Worksheets
    Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, j).Value = sheet.Name
    j = j + 1
Next sheet

8. Закрийте файл Excel.

Workbooks(fileName).Close

9. Функція Dir - це особлива функція. Щоб отримати інші файли Excel, ви можете знову використовувати функцію Dir без аргументів.

fileName = Dir()

Примітка: коли більше імен файлів не збігаються, функція Dir повертає рядок нульової довжини (""). В результаті Excel VBA вийде з циклу Do Hold.

10. Повертайте оновлення екрана знову (за межами петлі).

Application.ScreenUpdating = True

11. Перевірте програму.

Результат:

Файли в каталозі в Excel VBA

Також читайте: