フォルダをRmDir(完全削除)ではなく、ゴミ箱へ移動したい
VBAマクロを実行する際、RmDirステートメントを利用して、フォルダを削除する場合があります。
RmDirステートメントを使用した場合は、ゴミ箱に移動する削除ではなく、完全削除です。
=元に戻すことはできません。
その為、実装するマクロによっては、ゴミ箱に移動して削除する処理も必要です。
フォルダをゴミ箱に移動するサンプルコード
Shell.Application でゴミ箱(Namespace(10))へ削除(移動MoveHere)します。
'■指定フォルダをゴミ箱へ削除(移動)する Public Sub Call_MoveDustboxFolder(sPath As String) CreateObject("Shell.Application").Namespace(10).MoveHere (sPath) Application.Wait Now + TimeValue("0:00:01") End Sub
使い方
Public Sub sample() Call Call_MoveDustboxFolder("C:\vba") End Sub
注意点
- Application.Waitで待ち時間が必要です。
- フォルダではなく、指定ファイルを削除する場合はこちら。
コメント