VBAで
・ファイルの存在有無
・フォルダの存在有無
を確認できます!
ファイルの存在有無を確認する
ファイルの存在有無は
・「FileSystemObject」の「FileExists」メソッド
で確認できます。
ここでは例として
・デスクトップ配下のファイル「aiueo.txt」の
・存在有無を確認
します。
Option Explicit
Sub sample()
Dim fso As Object
Dim fileFullPath As String
'存在有無を確認するファイルのパスを指定
fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイルの存在確認
If fso.FileExists(fileFullPath) Then
MsgBox "ファイルが存在します。"
End If
'後片付け
Set fso = Nothing
End Sub
フォルダの存在有無を確認する
フォルダの存在有無は
・「FileSystemObject」の「FolderExists」メソッド
で確認できます。
ここでは例として
・デスクトップ配下のフォルダ「folder_001」の
・存在有無を確認
します。
Option Explicit
Sub sample()
Dim fso As Object
Dim folderFullPath As String
'存在有無を確認するフォルダパスを指定
folderFullPath = "C:\Users\user\Desktop\folder_001"
Set fso = CreateObject("Scripting.FileSystemObject")
'フォルダの存在確認
If fso.FolderExists(folderFullPath) Then
MsgBox "フォルダが存在します。"
End If
'後片付け
Set fso = Nothing
End Sub
備考(Dir関数について)
ファイル/フォルダの存在有無は、Dir関数でも確認できます。
Option Explicit
Sub sample()
Dim fileFullPath As String
Dim folderFullPath As String
'存在有無を確認するファイルのパスを指定
fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
'存在有無を確認するフォルダパスを指定
folderFullPath = "C:\Users\user\Desktop\folder_001"
'ファイルの存在確認
If Dir(fileFullPath) <> "" Then
MsgBox "ファイルが存在します。"
End If
'フォルダの存在確認
If Dir(folderFullPath, vbDirectory) <> "" Then
MsgBox "フォルダが存在します。"
End If
End Sub
Dir関数により、ファイル/フォルダが
・存在する場合は「ファイル名/フォルダ名」
・存在しない場合は「空文字」
が返り値となります。
よって
・Dir関数の返り値が「空文字かどうかを判定」することで、
・ファイル/フォルダの存在有無を確認
できます。
参考
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「FileSystemObject」の「FileExists」メソッド
●「FileSystemObject」の「FolderExists」メソッド
●Dir関数