2017年6月10日

【Excel】フォルダを削除するマクロ


フォルダを削除するマクロは、RmDir関数を使った方法とFileSystemObjectを使った方法があります。

RmDir関数

RmDir関数で指定したフォルダが削除されます。
Sub DeleteFolder1()

    Dim folderPath As String
    
    folderPath = "C:\work\tmp"
    
    If Dir(folderPath, vbDirectory) <> "" Then
        'フォルダが存在する場合は削除
        RmDir folderPath
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、Dir関数でフォルダの存在を確認し、存在する場合だけ削除を行っています。


FileSystemObject

FileSystemObjectのDeleteFolderメソッドでファイルの削除が出来ます。

※このFileSystemObjectを使うには、あらかじめ参照設定で、「Microsoft Scripting Runtime」にチェックを入れておく必要がありますので注意してください。


Sub DeleteFolder2()

    Dim fso As New FileSystemObject
    Dim folderPath As String
    
    folderPath = "C:\work\tmp"
    
    If fso.FolderExists(folderPath) Then
        'フォルダが存在する場合は削除
        fso.DeleteFolder (folderPath)
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、FolderExistsメソッドでフォルダの存在を確認し、存在する場合だけ削除を行っています。





comments powered by Disqus

スポンサーリンク