2017年6月8日

【Excel】フォルダを作成するマクロ


フォルダを作成するマクロは、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

スポンサーリンク