Deleting File to the ReCycle Bin:   Return to List

Private Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Boolean
    hNameMappings As Long
    lpszProgressTitle As String
End Type

Private Declare Function SHFileOperation Lib "shell32.dll" _
    Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
Private Const FOF_NOERRORUI = &H400
Private Const FOF_NOCONFIRMATION = &H10' Don't prompt the user.

Function KillToRecycleBin(ByVal strFileToDelete As String, _
    Optional ByVal PromptUser As Boolean = False) As Long
    Dim lngFlags As Long
    Dim FileOperation As SHFILEOPSTRUCT
    lngFlags = FOF_ALLOWUNDO Or FOF_NOERRORUI
    If Not PromptUser Then lngFlags = lngFlags Or FOF_NOCONFIRMATION
        With FileOperation
            .wFunc = FO_DELETE
            .pFrom = strFileToDelete
            .fFlags = lngFlags
        End With
        KillToRecycleBin = SHFileOperation(FileOperation)' Returns 0 if no error
End Function



Note to Webmaster