VBAでフォルダの存在確認する方法として、FileSystemObjectのFolderExistsを使用することで実現できます。
FileSystemObjectは、ファイルシステムオブジェクトを操作するための標準ライブラリであり、ファイルやフォルダの作成や削除、コピー、移動などを簡単に行うことができます。
FolderExistsメソッドは、指定されたフォルダが存在するかどうかを確認するために使用されます。
フォルダが存在する場合はTrueを、フォルダが存在しない場合はFalseを返します。
FolderExistsメソッドを使う場面としては、作成したいフォルダがすでに存在するか、コピーしたいフォルダが存在するか、移動したいフォルダが存在するかなどを確認したいときです。
【サンプルソース】フォルダの存在確認
以下は、FileSystemObjectのFolderExistsを使用して、フォルダの存在確認するVBAサンプルコードです。
Sub CheckFolderExists()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 存在を確認するフォルダのパス
Dim folderPath As String
folderPath = "D:\200_work\100_sample\AAA"
' フォルダの存在を確認する
If fso.FolderExists(folderPath) Then
MsgBox "フォルダが存在します。"
Else
MsgBox "フォルダが存在しません。"
End If
' オブジェクトを解放する
Set fso = Nothing
End Sub
上記のサンプルコードでは、まずFileSystemObjectを生成し、存在を確認したいフォルダのパスを指定します。
次に、フォルダの存在を確認しています。
フォルダが存在する場合、「フォルダが存在します。」とメッセージを表示します。
フォルダが存在しない場合、「フォルダが存在しません。」とメッセージを表示します。
FolderExistsメソッドに指定する引数は、「存在を確認したいフォルダのフルパス」です。
上記のサンプルソースでは、「D:\200_work\100_sample\AAA」を引数として指定しています。
以下に、FolderExistsメソッドの注意点を挙げます。
- 指定するフォルダパスの大文字と小文字は区別されます。正確なパスを指定してください。
- アクセス権がないフォルダの存在確認を行っても、フォルダが存在しないと判断されます。
- ファイルの存在確認をする場合は、FileExistsを利用する必要があります。
まとめ
VBAでフォルダの存在確認をするには、FileSystemObjectのFolderExistsメソッドを使用し、引数に確認したいフォルダのパスを指定します。
注意点として、パスの大文字・小文字の区別やアクセス権限の確認が必要です。
以上です。
最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。

