FileSystemObjectオブジェクト - CreateFolderメソッド


【書式】

FileSystemObject.CreateFolder(foldername)

新しいフォルダを作成します。

引数foldernameには、作成するフォルダのパスを指定します。すでに存在しているパスを指定するとエラーになります。パスが存在しているかどうかを調べるには、FolderExistsメソッドを使います。

Sub test5()
    ''C:\Work\フォルダにSubフォルダを作成します。
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.CreateFolder "C:\Work\Sub"
    Set FSO = Nothing
End Sub

CreateFolderメソッドは、指定したフォルダの作成に成功すると、作成したフォルダのパスを文字列で返します。また、すでに存在しているフォルダや、不正な名前のフォルダを作成しようとするとエラーになりますが、どんなエラーが発生したかはErrオブジェクトのNumberプロパティで判定できます。次のコードは、C:\Workフォルダに、ユーザーがInputBoxで指定した名前のフォルダを作成します。作成に成功すると、作成したフォルダのパスを表示し、失敗した場合はエラーの内容を表示します。

Sub test5_2()
    ''C:\Work\フォルダにユーザーが指定した名前のフォルダを作成します。
    Dim FSO As Object, buf As String, Result As String
    buf = InputBox("C:\Workに作成するフォルダ名を入力してください")
    If buf = "" Then Exit Sub
    Set FSO = CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
    Result = FSO.CreateFolder("C:\Work\" & buf)
    Set FSO = Nothing
    If Err = 0 Then
        MsgBox Result & vbCrLf & "を作成しました", vbInformation
    Else
        MsgBox Err.Description, vbExclamation
    End If
    Set FSO = Nothing
End Sub