Vba: jak otworzyć wszystkie pliki w folderze
Możesz użyć pętli Do While z metodą Workbooks.Open w VBA, aby otworzyć wszystkie pliki w określonym folderze.
Oto typowy sposób na zrobienie tego w praktyce:
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
To konkretne makro otwiera wszystkie pliki z rozszerzeniem .xlsx w następującym folderze:
- C:\Users\bob\Documents\bieżące_dane
Poniższy przykład pokazuje, jak w praktyce wykorzystać to makro.
Powiązane: Jak uzyskać listę wszystkich otwartych skoroszytów za pomocą języka VBA
Przykład: Jak otworzyć wszystkie pliki w folderze za pomocą VBA
Załóżmy, że mamy następujący folder o nazwie current_data , który zawiera trzy pliki .xlsx :
Załóżmy, że chcemy użyć języka VBA do otwarcia wszystkich plików .xlsx w tym folderze.
W tym celu możemy utworzyć następujące makro:
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
Kiedy uruchomimy to makro, każdy plik z rozszerzeniem .xlsx w folderze zostanie otwarty jeden po drugim.
Pamiętaj, że jeśli którykolwiek z plików w folderze jest już otwarty, pliki te po prostu pozostaną otwarte.
Uwaga : Pełną dokumentację metody Workbooks.Open w VBA znajdziesz tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
Jak zmienić nazwę pliku za pomocą VBA
Jak wyświetlić listę plików w folderze za pomocą VBA
Jak sprawdzić, czy plik istnieje za pomocą VBA