Сначала вам нужно получить доступ к реальной папке корзины. Это системная папка, к которой можно получить доступ через NameSpace
-метод Shell.Application
-объекта. Вам нужно передать число этому методу (я нашел список здесь ), для корзины это &HA&
(называемое BitBucket )
Когда вы Имея папку, вы можете l oop над элементами в ней, просто обратите внимание, что она может содержать файлы и папки, и вам нужно различить guish. Вы можете использовать FileSystemObject
, чтобы удалить нужные файлы / папки.
Sub RemoveFromRecyleBin()
Const BITBUCKET = &HA&
Dim sh As Object, folder as Object, fso As Object
Set sh = CreateObject("Shell.Application")
Set folder = sh.Namespace(BITBUCKET)
Set fso = CreateObject("Scripting.FileSystemObject")
Dim item As Object
For Each item In folder.Items
Debug.Print item.Type, item.Name, item.Path
If InStr(item.Name, "Junk") Then ' Replace by your own logic
If item.IsFolder Then
fso.DeleteFolder item.Path
Else
fso.DeleteFile item.Path
End If
End If
Next
End Sub