フォルダを削除するマクロは、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
スポンサーリンク