Borrar fichero enviándolo a la Papelera de Reciclaje

Esta función borra un fichero y lo envía a la Papelera de Reciclaje por si luego el usuario quiere recuperarlo.

Copia este código en un formulario y ejecuta el código. Antes debes indicar el fichero que quieres borrar. También puedes enviarle a la función un array con todos los ficheros que quieres borrar.

Private Sub Form_Load()
    Dim FileToKill As String

    'Escribe aquí el archivo a borrar
    FileToKill = "c:info.ico"
    EnviarPapelera FileToKill
End Sub

Y además tienes que insertar el siguiente código en un módulo:

Type SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAborted As Boolean
    hNameMaps As Long
    sProgress As String
End Type

Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40
Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Public Function EnviarPapelera(ParamArray vntFileName() As Variant) As Long
    Dim I As Integer
    Dim sFileNames As String
    Dim SHFileOp As SHFILEOPSTRUCT

    For I = LBound(vntFileName) To UBound(vntFileName)
        sFileNames = sFileNames & vntFileName(I) & vbNullChar
    Next
    sFileNames = sFileNames & vbNullChar

    With SHFileOp
        .wFunc = FO_DELETE
        .pFrom = sFileNames
        .fFlags = FOF_ALLOWUNDO
    End With
    EnviarPapelera = SHFileOperation(SHFileOp)
End Function
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s