【書式】
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