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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *