VBATips

ファイルをゴミ箱に移動する【Namespace(10)】【ExcelVBA】

ファイルを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で待ち時間が必要です。
  • ファイルではなく、フォルダごと削除する場合はこちら

関連記事

コメント

タイトルとURLをコピーしました