構文
構文は以下の通りです。
Dir[(パス名, 属性)]
解説
Dir関数は、指定したパス内に存在するファイルやフォルダの名前を取得するために使います。パス名は、検索対象のファイルやフォルダのパスを指定します。省略すると、前回のDir関数での結果を基に次のファイルやフォルダを取得します。属性は、ファイル属性を指定します。省略すると、通常のファイルを検索します。
【属性の種類】
定数 | 内容 |
vbNormal | 通常のファイル |
vbDirectory | ディレクトリ(フォルダ) |
プログラミング例
具体的なプログラミング例を紹介します。
Sub フォルダ内のファイル表示()
Dim フォルダ As String
Dim ファイル名 As String
' フォルダのパスを指定
フォルダ = "C:\テストフォルダ\"
' 最初のファイル名を取得
ファイル名 = Dir(フォルダ & "*.*")
' ファイルが存在する限りループ
Do While ファイル名 <> ""
MsgBox ファイル名 & " が見つかりました。"
' 次のファイル名を取得
ファイル名 = Dir
Loop
End Sub
Dim フォルダ As String
Dim ファイル名 As String
' フォルダのパスを指定
フォルダ = "C:\テストフォルダ\"
' 最初のファイル名を取得
ファイル名 = Dir(フォルダ & "*.*")
' ファイルが存在する限りループ
Do While ファイル名 <> ""
MsgBox ファイル名 & " が見つかりました。"
' 次のファイル名を取得
ファイル名 = Dir
Loop
End Sub
上記のプログラムは、Dir関数を使って、そのフォルダ内にある最初のファイル名を取得します。パターンとして"*.*"を指定することで、全てのファイルを検索対象にします。ファイルが見つかる限り、Do Whileループで繰り返し処理し、メッセージボックスにファイル名を表示します。ループ内で再度Dir関数を呼び出して次のファイルを取得します。Dirを引数なしで呼び出すと、前回の検索結果から次のファイルを取得します。
まとめ
Dir関数は、フォルダ内のファイルやフォルダを簡単に取得するための便利な関数です。ループを使ってすべてのファイルを一つずつ処理できるため、ファイルリストを作成したり、特定のファイルを検索するプログラムを作成する際に役立ちます。