Logo_Access_global_380x114Favicon_Access_global_180x180Logo_Access_global_380x114Logo_Access_global_380x114
  • Home
  • University
    • Destellos formativos
  • Labs
  • TV
  • Secciones
    • El mundo de Access
    • Explorando VBA
      • Artículos sobre VBA
      • Un trocito de código
    • Entrevistas
      • Profesionales de Access
    • El rincón de Excel
    • Bases de datos
      • MS SQL
      • MySQL
      • postgreSQL
      • SQLite
    • Clases magistrales
    • Utilidades hechas con Access
  • Access en el mundo
  • ¿Quiénes somos?
  • Cómo colaborar
  • Eventos
✕
            No hay resultados Mostrar todos los resultados
            VBA: estás obligado a escribir sólo números
            27/05/2022
            VBA: captura de pantalla
            29/05/2022
            Mostrar todos

            VBA: enviar fichero a la papelera

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • Kill
            • Papelera de reciclaje
            • SHFileOperation
            • VBA
            'El código está diseñado para trabajar desde un módulo de formulario
            Option Compare Database
            Option Explicit
            
            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
            
            Public Sub EnviarAPepelera(ByVal Fichero As String)
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/vba-enviar-fichero-a-la-papelera
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : EnviarAPepelera
            ' Autor original    : Desconocido
            ' Adaptado por      : Luis Viadel
            ' Propósito         : enviar un fichero a la papelera de reciclaje
            ' Retorno           : cero si tiene éxito y distinto de cero si no lo tiene
            ' Argumento/s       : La sintaxis del procedimiento o función consta del siguiente argumento:
            '                     Parte         Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     fichero      Obligatorio     Dirección completa del fichero que queremos eliminar
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Referencia        : https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationa
            '                     https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shfileopstructa
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            'Test:              : Para adaptar este código en tu aplicación puedes basarte en este procedimiento test. Copiar el bloque siguiente al
            '                    portapapeles y pega en el editor de VBA. Descomentar la línea que nos interese y pulsar F5 para ver su funcionamiento.
            '                    Me.pruebatxt.value contiene la dirección completa del fichero que queremos eliminar
            '
            'Sub EnviarAPepelera_test()
            '
            '   EnviarAPepelera Me.txtPrueba.Value
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim SHFileOp As SHFILEOPSTRUCT
            Dim retorno As Long
            
                With SHFileOp
                    .wFunc = FO_DELETE
                    .pFrom = Fichero
                    .fFlags = FOF_ALLOWUNDO
                End With
                
                retorno = SHFileOperation(SHFileOp)
                
            End Sub
            
            Private Sub btnKill_Click()
            
            Kill Me.txtPrueba.Value
            
            End Sub
            
            Private Sub btnPapelera_Click()
            
            EnviarAPepelera (Me.txtPrueba.Value)
            
            End Sub
            
            
            ¡Ver en el repositorio!
            Compartir
            20
            Luis Viadel
            Luis Viadel

            Entradas relacionadas

            21/03/2023

            ¿Mis procedimientos tienen tratamiento de errores?


            Leer más
            20/03/2023

            Moda, mediana y algo más


            Leer más
            17/03/2023

            Funciones de dominio de Alba


            Leer más

            Deja una respuesta Cancelar la respuesta

            Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

            ETIQUETAS

            Access API BD Botones ComboBox Consultas CountOfLines CStr Diseño DoCmd Excel Exportar Fecha FileSystemObject Filtros For Each...Next Formulario Formularios Funciones Funciones de dominio GetFolder GetWindowRect Google maps Informes InStr Jose Bengoechea Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              ¿Mis procedimientos tienen tratamiento de errores?
              21/03/2023
            • 0
              Moda, mediana y algo más
              20/03/2023

            ¿QUIERES PUBLICITAR TU EMPRESA AQUÍ?

            SUSCRÍBETE A NUESTRO
            NEWSLETTER

            Recibirás información puntual sobre el mundo de Access y VBA

            ¡Próximamente!

            Promovemos el uso de Access y de la programación en VBA en todo el mundo

            Centro de conocimiento


            Toda la sabiduría de los mejores programadores de Access y VBA a tu alcance.

            Legal

            Política de privacidad

            Condiciones de uso

            Condiciones del redactor

            ®Access Global 2021 | All right reserved
                      No hay resultados Mostrar todos los resultados