【ExcelVBA】ファイルとフォルダの存在を確認する方法 Dir関数

こんなあなたにおすすめ

・Excel VBAでファイルの存在を確認したい

・Excel VBAでフォルダの存在を確認したい

Excel VBAを使っていると、ファイルやフォルダの存在を確認したいことがよくあります。
そんなときは、Dir関数を使うことで簡単にファイルやフォルダの存在を確認することができます。

ファイルの存在を確認したい

ファイルの存在を確認したいときは、Dir(“ファイルパス”)で確認できます。

Sub test1()

    Dim FilePath As String
    Dim FileName As String
    FilePath = "C:\●●●\Desktop\Book1.xlsm"    'ファイルパスを変数に格納する

    FileName = Dir(FilePath)    'ファイル名を変数に格納する

    If (FileName = "Book1.xlsm") Then    '↓ファイル名が"Book1.xlsm"の場合に実行
        MsgBox "Book1.xlsmが見つかりました"
    Else    '↓ファイル名が"Book1.xlsm"でない場合に実行
        MsgBox "Book1.xlsmは見つかりませんでした"
    End If
End Sub

※●●●:あなたのPCのDesktopまでのパスを入力してください。

上記のプログラムで出てくるif文について知りたい方は、下記の記事をご参照ください。
>>【ExcelVBA】If文 条件分岐

フォルダの存在を確認したい

フォルダの存在を確認したいときは、Dir(“ファイルパス”, vbDirectory)で確認できます。

Sub test2()

    Dim FolderPath As String
    Dim FolderName As String
    FolderPath = "C:\●●●\Desktop"    'フォルダパスを変数に格納する

    FolderName = Dir(FolderPath, vbDirectory)    'フォルダ名を変数に格納する
    
    If (FolderName = "Desktop") Then    '↓フォルダ名が"Desktop"の場合に実行
        MsgBox "Desktopが見つかりました"
    Else    '↓フォルダ名が"Desktop"でない場合に実行
        MsgBox "Desktopは見つかりませんでした"
    End If
End Sub

上記のプログラムで出てくるif文について知りたい方は、下記の記事をご参照ください。
>>【ExcelVBA】If文 条件分岐

ブックのファイル名も取得できます!

Dir関数とThisWorkbook.FullNameを組み合わせることで、ブックのファイル名を取得できちゃいます。
簡単ですので、この機会にマスターしてしまいましょう。

Sub test3()

    MsgBox Dir(ThisWorkbook.FullName)
    
End Sub

ThisWorkbookの使い方については下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】ブックのパスを取得する方法

まとめ

ここまでファイルとフォルダの存在を確認を確認する方法について解説しました。
Dir関数を使うことで簡単にファイルとフォルダの存在を確認できるため、ぜひご活用ください。

ブックのパスを取得したい方は、下記の記事をご参照ください。
>>【ExcelVBA】ブックのパスを取得する方法

ファイル名を取得したい方は、下記の記事をご参照ください。
>>【ExcelVBA】ファイル名を取得する方法 ThisWorkbook.Name

Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です