フォルダが存在するか確認する方法
やりたい事
VBAでフォルダが存在するかどうかを確認する方法を解説します。
やり方は2通りあってDir関数を使用する方法とFolderExists()を使用する方法があります。
この記事では「Dir関数」について説明します。
Dir関数のサンプルコード
以下のサンプルコードは、マクロのあるブックをカレントディレクトリとしてそのフォルダ内に「work」フォルダが存在するかどうかを確認するコードです。
Dir関数は、第1引数のパスが見つからないときは、「””」を戻り値として返却します。
Sub serchFolderExists() Dim folderName As String: floderName = "work" Dim folderPath As String folderPath = ThisWorkbook.Path & "/" & folderPath If Dir(folderPath, vbDirectory) = "" Then MsgBox "フォルダは存在しません。" Else MsgBox "フォルダは存在します。" End If End Sub
Dir関数構文
Dir [ (pathname, [ attributes ] ) ]
引数 | 必須/省略可能 | 説明 |
---|---|---|
pathname | 省略可能 | ファイル名を指定する文字列式です。ディレクトリまたはフォルダー、およびドライブを含めることができます。pathnameが見つからない場合は、長さ 0 の文字列 (“”) が返されます。 |
attributes | 省略可能 | ファイル属性を指定する定数または数式 (合計によって指定) です。 省略した場合は、pathname に一致する、属性のないファイルが返されます。 |
「attributes」の引数設定
定数 | 値 | 説明 |
---|---|---|
vbNormal | 0 | (既定値) 属性のないファイル。 |
vbReadOnly | 1 | 属性のないファイルと読み取り専用のファイル。 |
vbHidden | 2 | 属性のないファイルと隠しファイル。 |
vbSystem | 4 | 属性のないファイルとシステムファイル。Macintoshでは使用できません。 |
vbVolume | 8 | ボリュームラベル。他の属性を指定した場合は、vbVolumeは無視されます。Macintoshでは使用できません。 |
vbDirectory | 16 | 属性のないファイルとディレクトリまたはフォルダー。 |
vbAlias | 64 | 指定されたファイル名はエイリアスです。Macintoshでのみ使用できます。 |
コメント