Vba:フォルダー内のすべてのファイルを開く方法
VBA のWorkbooks.OpenメソッドでDo Whileループを使用すると、特定のフォルダー内のすべてのファイルを開くことができます。
実際にこれを行う一般的な方法は次のとおりです。
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:\ユーザー\ボブ\ドキュメント\current_data
次の例は、このマクロを実際に使用する方法を示しています。
関連: VBA を使用して開いているすべてのワークブックのリストを取得する方法
例: VBA を使用してフォルダー内のすべてのファイルを開く方法
3 つの.xlsxファイルを含むcurrent_dataという次のフォルダーがあるとします。
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拡張子を持つ各ファイルが 1 つずつ開かれます。
フォルダー内のいずれかのファイルがすでに開いている場合、それらのファイルは単に開いたままになることに注意してください。
注: VBA のWorkbooks.Openメソッドの完全なドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBAを使用してファイル名を変更する方法
VBAを使用してフォルダー内のファイルを一覧表示する方法
VBAを使用してファイルが存在するかどうかを確認する方法