Excel VBAのDir関数は、ファイルシステムを操作して、フォルダやファイルの名前を取得する際に非常に便利な機能です。特定のパターンや条件に合致するファイルやディレクトリのリストを作成できます。
Dir関数の基本的な使用方法
基本的な構文
Dir([Pathname], [Attributes])
Pathname (オプション)
検索するファイルやディレクトリのパス。ワイルドカードも使用可能です(例: *.txt)。
Attributes (オプション)
検索するファイルの属性を指定します。例えば、vbReadOnly や vbHidden などがあります。
Dir関数を用いたサンプルコード
【特定のディレクトリ内のファイル名を取得】
指定されたディレクトリ内のすべての「.txt」ファイルの名前をリストします。
指定されたフォルダ(この例ではC:\YourFolderPath\)内の最初の.txtファイルを検索します。その後、Dir関数を引数なしで呼び出すことにより、同じフォルダ内の次の.txtファイル名を取得し続けます。ファイルが見つからなくなった場合、Dir関数は空の文字列を返し、ループが終了します。
Sub ListTxtFiles()
Dim FileName As String
FileName = Dir("C:\YourFolderPath\*.txt")
While FileName <> ""
Debug.Print FileName
FileName = Dir() ' 次のファイル名を取得
Wend
End Sub
注意点
Dir関数は内部的に状態を保持しているため、同時に複数の検索を行うことはできません。新しい検索を開始する前に、前の検索を完全に終了させる必要があります。
特定の条件や属性でファイルを検索する場合、Attributesパラメータの適切な設定が必要です。
Dir関数は、VBAにおいてファイルやフォルダを扱うのに非常に有効です。この関数を使うことで、ファイルシステムに対する複雑な操作を簡単に自動化し、効率的なファイル処理を実現することができます。