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