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