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: captura de pantalla
            29/05/2022
            VBA: detectar Capslock
            31/05/2022
            Mostrar todos

            VBA: recuperar el fichero enviado a la papelera

            Publicado por Luis Viadel
            Categorías
            • Destellos formativos
            Etiquetas
            • BITBUCKET
            • InStrRev
            • Namespace
            • Shell.Application
            • VBA
            'Código a incluir en el botón de acción que lance la función
            Private Sub btnrecupera_Click()
            Dim strDireccion As String
            Dim strFichero As String
            Dim strRecycle As String
            Dim strRutaOrigen As String
            
            'Extraemos el nombre de fichero para poder recuperarlo
                strDireccion = Me.txtPrueba.Value
                strFichero = Right(strDireccion, Len(strDireccion) - InStrRev(strDireccion, "\"))
            
            'Localizamos la dirección del fichero en la papelera de reciclaje
                strRecycle = RecuperaPapelera(strFichero)
            
            'Copiamos el fichero en la ruta original
                FileCopy strRecycle, Me.txtPrueba.Value
                Kill strRecycle
                
            End Sub
            
            'Código de módulo estándar
            Option Compare Database
            Option Explicit
            
            Public Function RecuperaPapelera(ByVal fichero As String) As String
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente             : https://access-global.net/vba-recuperar-el-fichero-enviado-a-la-papelera
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título             : RecuperaPapelera
            ' Autor original     : Luis Viadel
            ' Fecha              : marzo 2019
            ' Propósito          : recuperar un fichero conocido que ha sido enviado a la papelera de reciclaje
            ' Retorno            : devuelve la dirección completa del fichero en la papelera de reciclaje
            ' Argumento/s        : La sintaxis del procedimiento o función consta del siguiente argumento:
            '                      Parte            Modo           Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                      fichero       Obligatorio       Nombre del fichero que queremos recuperar
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Mas información    : https://docs.microsoft.com/en-us/windows/win32/shell/shell-namespace
            '                      https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/copyfile-method
            '                      https://docs.microsoft.com/en-us/windows/win32/api/shldisp/ne-shldisp-shellspecialfolderconstants
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '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.
            '
            'Sub recupera_test()
            'Dim strRecycle as string
            '
            '   strRecycle = RecuperaPapelera(Nombre de fichero)
            '
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            Dim sh As Object, folder As Object
            Dim item As Object
            
            Const BITBUCKET = &HA&
            
                On Error GoTo LinErr
                
                Set sh = CreateObject("Shell.Application")
                Set folder = sh.Namespace(BITBUCKET)
                
                For Each item In folder.Items
            
                    If InStr(item.Name, fichero) Then
                        RecuperaPapelera = item.Path
                    End If
                Next
                
                Exit Function
            LinErr:
                RecuperaPapelera = ""
                
            End Function
            
            
            ¡Ver en el repositorio!
            Compartir
            22
            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