構文
Object.FolderExists(folderspec)
folderspecに指定した対象フォルダが存在するかどうか確認します。
FolderExistsメソッドのサンプルコード
Public Sub sample()
'■FileSystemObjectの宣言
Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
'■フォルダが存在するかどうかチェック
Debug.Print fso.FolderExists("C:\vba") ' 存在すればTrue / しなければFalse
Debug.Print fso.FolderExists("C:\vba\") ' 存在すればTrue / しなければFalse
'■相対パスで指定可能
Debug.Print fso.FolderExists(".\vba") ' 存在すればTrue / しなければFalse
'■IF文で記載する場合は以下。
If fso.FolderExists("C:\vba") Then
Debug.Print "True"
Else
Debug.Print "False"
End If
'■ファイルの存在確認はFolderExistsでは不可。FileExists
Debug.Print fso.FolderExists("C:\vba\sample.xlsx") ' 存在していてもFalse
End Sub
注意点
- ファイルの存在確認はFileExistsメソッドを使用します。
- FileSystemObjectを使用しない場合は、Dir関数でフォルダ存在確認できます。
- 相対パスはカレントディレクトリを起点に処理します。
- カレントディレクトリはChDirステートメントで変更可能です。
コメント