Vba: як відкрити всі файли в папці
Ви можете використовувати цикл Do While з методом Workbooks.Open у VBA, щоб відкрити всі файли в певній папці.
Ось поширений спосіб зробити це на практиці:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Цей конкретний макрос відкриває всі файли з розширенням .xlsx у такій папці:
- C:\Users\bob\Documents\current_data
У наступному прикладі показано, як використовувати цей макрос на практиці.
Пов’язане: як отримати список усіх відкритих книг за допомогою VBA
Приклад: як відкрити всі файли в папці за допомогою VBA
Скажімо, у нас є така папка під назвою current_data , яка містить три файли .xlsx :
Припустімо, ми хочемо використовувати VBA, щоб відкрити всі файли .xlsx у цій папці.
Для цього ми можемо створити такий макрос:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Коли ми запускаємо цей макрос, кожен файл із розширенням .xlsx у папці відкриватиметься один за іншим.
Зауважте, що якщо будь-які файли в папці вже відкриті, ці файли просто залишаться відкритими.
Примітка . Ви можете знайти повну документацію для методу Workbooks.Open у VBA тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
Як перейменувати файл за допомогою VBA
Як створити список файлів у папці за допомогою VBA
Як перевірити, чи файл існує за допомогою VBA