VBA ファイルの存在を確認するDir関数 場所を確認するCurDir関数

スポンサーリンク

Dir【デレクトリ】関数

ファイルの存在を確認するには、Dir【デレクトリ】関数を使用します。Dir【デレクトリ】関数は、引数に指定したファイルが存在すると「パス(場所)を含まないファイル名」を返します。引数に指定したファイルが存在しない場合は、「長さ0の文字列(””)空白」を返します

Dir【デレクトリ】関数の書式と引数の説明

[]内は省略可能です。
Dir([Pathname][,Attributes])
【戻り値】 文字列型 (String)

  • Pathname【パスネーム】(省略可)
    ファイル名を表す文字列式を指定します。ファイル名にはワイルドカードが使用できます。
  • Attributes【アトリビュート】(省略可)
    取得するファイルの属性を表す数式もしくは定数を指定します。Attributes【アトリビュート】は属性という意味があります。

    引数Attributes【アトリビュート】設定値
    定数 内容
    vbNormal 0 標準ファイル(既定値)
    vbHidden 2 隠しファイル
    vbSystem 4 システムファイル
    vbVolume 8 ボリュームラベル
    vbDirectory 16 フォルダ

※始めてDir【デレクトリ】関数を実行するときに引数を省略するとエラーが発生します。繰り返し処理で次のファイルを取得するときには、Dir【デレクトリ】関数に引数を省略して実行します。


ユーザーが入力したファイル名のファイルが存在すか判定するコード例

Sub 検索()
Dim ファイル名 As String
Dim ファイル As String
ファイル名 = InputBox("検索するファイル名を入力してください。")
ファイル = ActiveWorkbook.Path & "¥" & ファイル名 & ".xlsm"
If Dir(ファイル) = "" Then
MsgBox "ファイルがありません"
Else
MsgBox ファイル & "は存在します。"
End If
End Sub

実行結果



Dir【デレクトリ】関数の使用例については
複数のシートのデータを固定長のテキスト形式で書き出す
カンマ区切りのテキストデータを読み込む
複数のデータをすべてのCSVファイルに保存する
もご参照ください。

CurDir【カレントデレクトリ】関数

指定したドライブのカレントフォルダ名を取得するには、CurDir【カレントデレクトリ】関数を使用します。カレントフォルダとは、現在開いているフォルダで、「ファイルを開く」ダイアログを開いたときに表示されるフォルダです。

CurDir【カレントデレクトリ】関数の書式と引数の説明

[]内は省略可能です。
CurDir[(drive)]
【戻り値】バリアント型 (内部処理形式 String の Variant)

  • drive【ドライブ】(省略可)
    ドライブを示す文字列式を指定します。省略した場合は、現在のドライブのパスを返します。

現在のカレントフォルダを表示するコード例

Sub カレントフォルダ()
MsgBox CurDir
End Sub

実行結果


以上でDir【デレクトリ】関数とCurDir【カレントデレクトリ】関数についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告