指定されたフォルダが書き込み可能かどうかを判断するVBA関数

Function fncIsFolderWritable(ByVal strFolderPath As String) As Boolean
    ' 変数の宣言
    Dim fso As FileSystemObject
    Dim strTempFilePath As String
    Dim fileTest As TextStream

    ' FileSystemObjectのインスタンスを作成
    Set fso = New FileSystemObject

    ' 一時ファイルのパスを設定
    strTempFilePath = strFolderPath & "\tempfile.tmp"

    On Error Resume Next ' エラーハンドリングを開始

    ' 一時ファイルの作成を試みる
    Set fileTest = fso.CreateTextFile(strTempFilePath, True)

    ' エラーチェック
    If Err.Number = 0 Then
        fileTest.Close ' テストファイルを閉じる
        fso.DeleteFile strTempFilePath ' テストファイルを削除
        fncIsFolderWritable = True
    Else
        fncIsFolderWritable = False
    End If
    On Error GoTo 0 ' エラーハンドリングを終了

    Set fso = Nothing
End Function

コメント