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)の存在状態によって、下記の処理を行います。
・存在する:メッセージボックスで「ファイルが存在します。」と表示される
・存在しない:メッセージボックスで「ファイルが存在しません。」と表示される
リンク
コメント