フォルダを作成するマクロは、MkDir関数を使った方法とFileSystemObjectを使った方法があります。
MkDir関数
MkDir関数で指定したフォルダを作成します。Sub MakeFolder1()
Dim folderPath As String
folderPath = "C:\work\Excel\tmp"
If Dir(folderPath, vbDirectory) = "" Then
'存在しなければフォルダを作成
MkDir folderPath
Else
MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはすでにあります。", vbExclamation, "注意"
End If
End Sub
この例では、Dir関数でフォルダの存在を確認し、存在しない場合だけ作成を行っています。※Dir関数は、第2引数にvbDirectoryと指定することでフォルダの存在確認が出来ます。
FileSystemObject
FileSystemObjectのCreateFolderメソッドでフォルダの作成が出来ます。※このFileSystemObjectを使うには、あらかじめ参照設定で、「Microsoft Scripting Runtime」にチェックを入れておく必要がありますので注意してください。

Sub MakeFolder2()
Dim fso As New FileSystemObject
Dim folderPath As String
folderPath = "C:\work\Excel\tmp"
If fso.FolderExists(folderPath) = False Then
'存在しなければフォルダを作成
fso.CreateFolder (folderPath)
Else
MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはすでにあります。", vbExclamation, "注意"
End If
End Sub
この例では、FolderExistsメソッドでフォルダの存在を確認し、存在しない場合だけ作成を行っています。comments powered by Disqus
スポンサーリンク