VBA備忘録

VBAソースの備忘録。当面Excelのみ。

フォルダ内のファイルを取得する

前提条件

  • マクロ実行ブックが格納されているフォルダの、ファイルを全て取得

 

注意事項

フォルダ内からファイルを取得するDir関数があるが、Dir関数は入れ子になる(Dir関数実行中に、内部で別のフォルダでDir関数を実行する)と戻り値が被るのであまり使用しない方が良い

 

Sub GetFileInFolder()

    '----FileSystemObjectを使用する
    '----参照設定:Microsoft Scripting Runtimeのチェックを忘れずに
    Dim objFSO As New FileSystemObject
    
    Dim objFolder As Folder
    Dim objFile As File
    
    '該当フォルダをセット
    Set objFolder = objFSO.GetFolder(ThisWorkbook.Path) '※ここではマクロ実行ファイル格納フォルダ。必要に応じて任意のパスを指定する
    
    'フォルダ内のファイル分、処理を繰り返す
    For Each objFile In objFolder.Files
    
        With objFile
            '各ファイルに対する処理をここで行う
            
        End With
    
    Next
    
End Sub