【VBA】Dir関数の使い方(サンプルコードあり)
VBAのDir関数は、指定したフォルダ内のファイルやフォルダの名前を取得するために使用されます。
条件に合うファイル名やフォルダ名をすべて取得することができます。
Dir関数の使い方
Dir関数は、次のような構文を持ちます。
Dir([path], [attributes])
- path: 検索するディレクトリのパスを文字列で指定します。
- attributes: 検索条件を指定するための定数を指定します。
引数attributesについては後半で説明します。 (あまり使うケースは少ないと思います)
Dir関数のサンプルコードあり
以下に、Dir関数の使用例を示します。
Sub TestDir()
Dim filePath As String
' 指定したディレクトリ内のファイル一覧を表示
filePath = Dir("C:\")
Do While filePath <> ""
Debug.Print filePath
filePath = Dir
Loop
' 指定したディレクトリ内の特定のファイルのみを表示
filePath = Dir("C:*.xlsx")
Do While filePath <> ""
Debug.Print filePath
filePath = Dir
Loop
End Sub
この例では、指定したディレクトリ内のファイル一覧を取得し、イミディエイトウィンドウに表示する方法を示しています。
また、特定の拡張子(.xlsx)を持つファイルのみを取得する方法も示しています。
Dir関数は、Do Whileループと組み合わせて使用することが一般的です。
ループ内でDir関数を使用してファイル名を取得し、ループが終了するまで繰り返します。
取得されたファイル名が空文字列の場合、ループが終了します。
※Dir関数は引数なしにすると、前回の指定条件の次のファイルを表示します。そして、対象ファイルがなくなると空文字列を返します。
引数attributesについて
引数attributesを指定すると、特定のファイルやフォルダのみ対象とすることができます。
定数 | 値 | 内容 |
---|---|---|
vbNormal | 0 | 標準ファイル |
vbReadOnly | 1 | 読み取り専用ファイル |
vbHidden | 2 | 隠しファイル |
vbSystem | 4 | システム ファイル。Macintosh では使用できません。 |
vbVolume | 8 | ボリューム ラベル。この値を指定すると、すべての属性は無効になります。Macintosh では使用できません。 |
vbDirectory | 16 | フォルダ |
vbAlias | 64 | エイリアス ファイル。Macintosh でのみ使用できます。 |
attributesで指定できる内容はこの表の通りです。
省略すると、標準ファイルの属性になります。