Dir関数

 

 Dir関数は、ファイルの存在確認できる関数です。引数に指定したファイルが存在すると、ファイル名を返します。一方、指定したファイルが見つからないとき、Dir関数は長さ0の文字列を返します。Dir関数の引数を省略すると、直前に指定したフォルダーのなか、まだ返していないファイル名を順に返します。

実務では*? のワイルドカードを使って、ファイル名を指定することが多いです。

 

Sub test1()
    Dim buf As String
    buf = Dir("D:\VBAtestFiles\*.xlsx")
    
    Debug.Print buf
End Sub

 

 上のコードを実行すると、イミディエイトウィンドウに、拡張子xlsxのファイル名を出力されます。該当するファイルが複数になる場合は、1個目のファイル名が出力されることになります。

 

 

 

指定フォルダー内の全ファイルを開く

 

Sub test2()
   ’ 指定フォルダー内の全ファイルを開く

    Dim dirPath As String
    Dim xlName As String
    
    ’ フォルダーのパスを指定する
    dirPath = "D:\VBAtestFiles"
    
    ’ パスに\マークが付いていいるか確認
    If Right(dirPath, 1) <> "\" Then dirPath = dirPath & "\"

    ’ Dir関数でファイル名を取得
    xlName = Dir(dirPath & "*.xlsx")
    
    
    Do While Len(xlName) > 0
        Workbooks.Open dirPath & xlName

      ’ 次のファイル名を代入
            xlName = Dir()
    Loop

End Sub

 

 

 上のコードを実行すると、"xlsx"拡張子のファイルが一気に開かれることになります。ぜひ、フォルダー名などをアレンジして、ご自分で試してみてください。

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る

 

 

関連記事