サブフォルダからファイルを一括で取り出すマクロ



マクロが入ってるエクセルと同じフォルダにあるサブフォルダから




中のファイルを

一括で取り出すマクロ

コード

Sub フォルダからファイルを取り出す()
    Dim MainFolder As String
    Dim FSO As Object
    Dim SourceFolder As Object
    Dim TargetFolder As Object
    Dim File As Object
    Dim SubFolder As Object
    
    ' メインフォルダのパスを指定
    MainFolder = ThisWorkbook.Path & "\"
    
    ' FileSystemObjectを作成
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    ' メインフォルダを開く
    Set TargetFolder = FSO.GetFolder(MainFolder)
    
    ' メインフォルダ内の各サブフォルダを処理
    For Each SubFolder In TargetFolder.SubFolders
        ' サブフォルダ内の各ファイルを処理
        For Each File In SubFolder.Files
            ' ファイルをメインフォルダに移動
            File.Move (MainFolder & "\" & File.name)
        Next File
        
        ' サブフォルダを削除
        SubFolder.Delete
    Next SubFolder
    
    ' クリーンアップ
    Set FSO = Nothing
    Set SourceFolder = Nothing
    Set TargetFolder = Nothing
    
    MsgBox "フォルダからファイルを取り出しました"
End Sub