FileSystemObjectオブジェクトの使い方


FileSystemObjectオブジェクトを使うには、CreateObjectメソッドを実行してFileSystemObjectオブジェクトのインスタンスを作成します。インスタンスを利用するには、オブジェクト変数を使う方法と、Withステートメントを使う方法があります。

・オブジェクト変数を使う方法

Sub test1()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    With FSO.GetFolder("C:\")
        MsgBox .Files.Count & "個のファイルがあります", vbInformation
    End With
    Set FSO = Nothing
End Sub

・Withステートメントを使う方法

Sub test2()
    With CreateObject("Scripting.FileSystemObject")
        If .DriveExists("E") Then
            MsgBox "Eドライブが存在します", vbInformation
        Else
            MsgBox "Eドライブは存在しません", vbExclamation
        End If
    End With
End Sub

Withステートメント方式で記述すると、Withステートメントが何重にもネストしますので、自信がない方は素直にオブジェクト変数を使いましょう。

なお、CreateObjectメソッドに指定する引数は、"Scripting.FileSystemObject"です。

FileSystemObjectオブジェクトはExcel VBA内のオブジェクトではありませんから、プロパティやメソッドの大文字/小文字が自動的に変換されません。タイプミスには十分注意してください。