【ExcelVBA】Dir関数でファイルの存在確認を行う


この記事はプロモーションを含みます。

ExcelVBA

Excel VBAのDir関数を使用し、ファイルの存在確認を行う方法を解説します。
また、処理を部品化する方法も説明します。

Dir関数にファイルパスを渡すと、存在する場合は「ファイル名」、存在しない場合は「“”(ブランク)」を返します。
今回は、この性質を利用して、ファイルの存在確認を行う方法を説明します。

サンプルコード

ファイルの存在確認を行うサンプルソースコードになります。

Sub Sample()

    If Dir("C:\ExcelVBA\Sample.xlsx") <> "" Then
        MsgBox ("ファイルが存在します。")
    Else
        MsgBox ("ファイルが存在しません。")
    End If

End Sub

上記のサンプルを実行すると、引数で渡したファイル(C:\ExcelVBA\Sample.xlsx)の存在状態によって、下記の処理を行います。

・存在する:メッセージボックスで「ファイルが存在します。」と表示される
・存在しない:メッセージボックスで「ファイルが存在しません。」と表示される

ファイルの存在確認部品

ファイルの存在確認処理を部品化したサンプルになります。

引数は、存在確認を行いたいファイル、またはフルパスを指定します。

戻り値は下記になります。
・ファイルが存在する:True
・ファイルが存在しない:False

サンプルコード

' --------------------------------------------------
' ファイルの存在チェック
' ファイルの存在をチェックする
' 引数:ファイルのパス
' 戻り値:存在する(True)/存在しない(False)
' --------------------------------------------------
Public Function IsFileExists(ByVal path As String) As Boolean

    If Dir(path) <> "" Then
        IsFileExists = True
    Else
        IsFileExists = False
    End If

End Function

呼び出し方

ファイルの存在確認部品の呼び出し方になります。

Sub Sample()

    If IsFileExists("C:\ExcelVBA\Sample.xlsx") Then
        MsgBox ("ファイルが存在します。")
    Else
        MsgBox ("ファイルが存在しません。")
    End If

End Sub

上記のサンプルを実行すると、引数で渡したファイル(C:\ExcelVBA\Sample.xlsx)の存在状態によって、下記の処理を行います。

・存在する:メッセージボックスで「ファイルが存在します。」と表示される
・存在しない:メッセージボックスで「ファイルが存在しません。」と表示される

コメント

タイトルとURLをコピーしました