フォルダが存在するかどうかを確認する関数
タイトルのマクロは、以下です。
'****************************************************************
'* フォルダが存在するかどうかを確認する関数
'* myFolder: 確認するフォルダのパス
'* 戻り値: フォルダが存在すればTrue、存在しなければFalse
Public Function ExistFolder(myFolder As String) As Boolean
    On Error GoTo ErrHdl        ' エラーハンドリングを設定
    ExistFolder = False         ' 初期値としてFalseを設定
    With New FileSystemObject   ' FileSystemObjectを新規作成
        .GetFolder (myFolder)   ' 指定されたフォルダが存在するか確認
    End With
    ExistFolder = True          ' フォルダが存在すればTrueを設定
    Exit Function               ' 関数を終了
    
ErrHdl:                         ' エラーハンドラ
    ExistFolder = False         ' フォルダが存在しない場合はFalseを設定
End Function各部分の詳細説明
- この関数は、指定されたフォルダが存在するかどうかを確認し、その結果をブール値(True/False)で返します。
 myFolderは、確認するフォルダのパスを示す文字列です。
    On Error GoTo ErrHdl        ' エラーハンドリングを設定
    ExistFolder = False         ' 初期値としてFalseを設定On Error GoTo ErrHdlは、エラーが発生した場合にエラーハンドラ(ErrHdl)にジャンプするように設定します。- 関数の戻り値である 
ExistFolderを初期値として False に設定します。 
    With New FileSystemObject   ' FileSystemObjectを新規作成
        .GetFolder (myFolder)   ' 指定されたフォルダが存在するか確認
    End WithFileSystemObjectを新規に作成し、Withブロック内で使用します。GetFolderメソッドを使って、指定されたフォルダが存在するかどうかを確認します。このメソッドが成功すると、フォルダが存在することが確認できます。
    ExistFolder = True          ' フォルダが存在すればTrueを設定
    Exit Function               ' 関数を終了- フォルダが存在する場合、
ExistFolderを True に設定します。 Exit Functionにより、関数を正常終了します。
ErrHdl:                         ' エラーハンドラ
    ExistFolder = False         ' フォルダが存在しない場合はFalseを設定- ここはエラーハンドラです。
GetFolderメソッドがエラーを発生させた場合に実行されます。 - エラーが発生した場合、フォルダが存在しないとみなして 
ExistFolderを False に設定します。 


