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
            Grabadora de notas
            11/11/2021
            Crear carpetas encadenadas
            13/11/2021
            Mostrar todos

            Eliminar una carpeta y todo su contenido

            Publicado por Rafael Andrada
            Categorías
            • Un trocito de código
            Etiquetas
            • Archivos
            • Directorios
            • Medio

            Eliminar una carpeta y todo su contenido pudiendo restaurar sólo la carpeta


            Nivel: Medio

            ¿Cuál es su propósito?
            Pasamos el nombre de la carpeta como parámetro a la función y elimina la carpeta con todo su contenido. Dependiendo del segundo parámetro, podemos volver a crear la carpeta. El retorno es false en caso de que se haya realizado con éxito.

            Elementos que necesitas para poder ejecutar el código:

            1. Referencia no requerida: Microsoft Scripting Runtime


            Código:
            Public Function mcblnMkDir(Optional ByVal strPathName As String, Optional ByVal blnRestore As Boolean) As Boolean
            
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Fuente            : https://access-global.net/eliminar-una-carpeta-y-todo-su-contenido/
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Título            : mcblnMkDir
            ' Autor original    : Luis Viadel  
            ' Autor             : Rafael Andrada .:McPegasus:. de BeeSoftware
            ' Actualizado       : 15/07/2019 12:54
            ' Propósito         : Restaura la carpeta Temp cuando termina el proceso.
            ' Retorno           : False en caso de haberse producido cualquier error no esperado.
            ' Argumento/s       : La sintaxis del Procedimiento o Función consta de/los siguiente/s argumento/s:
            '                     Parte             Descripción
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            '                     strPathName       Opcional    Nombre de la carpeta a eliminar.
            '                     blnRestore        Opcional    En caso de querer crear la carpeta tras su eliminación y por tanto de su contenido.
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            ' Referencia        : Microsoft Scripting Runtime (c:\Windows\SysWOW64\scrrun.dll)/>
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            'Test:              : Copia el bloque siguiente al portapapeles y pega en el editro de VBA para ver un ejemplo de funcionamiento.
            'Sub mcblnMkDir_test()
            '   Debug.Print mcblnMkDir ("C:\temp")
            '   Debug.Print mcblnMkDir(, True)
            'End Sub
            '-----------------------------------------------------------------------------------------------------------------------------------------------
            
            '    Dim fso                                         As FileSystemObject
                
            '    Dim fsoFolder                                   As Folder
                
                Dim fso                                         As Object
                
                Dim fsoFolder                                   As Object
                
            
            On Error GoTo mcblnMkDir_ErrorHandler                                  'Controlador de errores por On Error Goto. Mc 13/07/2021, 14/06/2021.
            
                If strPathName = "" Then
                    
                    If Right(strPathName, 1) = "\" Then
                        'No debe de tener la barra final, en ese caso se produce un error de que no se ha encontrado la ruta de acceso.
                        strPathName = Left(strPathName, Len(strPathName) - 1)
                    
                    End If
                
                    Set fso = CreateObject("Scripting.FileSystemObject")                'https://vba846.wordpress.com/file-system-object-para-vba/
                    fso.DeleteFolder strPathName, True
                    
                    If blnRestore Then
                        Set fsoFolder = fso.CreateFolder(strPathName)
                        
                    End If
            
                End If
            
            mcblnMkDir_Exit:
            
                Set fso = Nothing
                Set fsoFolder = Nothing
            
                On Error GoTo 0
                Exit Function
            
            mcblnMkDir_ErrorHandler:
            
                Select Case Err.Number
                    Case 76                                     'No se ha encontrado la ruta de acceso.
                        Resume Next                             'Para volver a la línea siguiente donde se produce el error.
            
                    Case Else                                   'Cazar todos aquellos errores inesperados.
                        'La línea que se muestra en la ventana de Inmediato con el Debug.Print, está preparada por su tabulación para sustituir por un Case 0.
                        Debug.Print "        Case " & Err.Number & "                                     '" & Err.Description & "."
                        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure mcblnMkDir.", vbCritical
            
                        mcblnMkDir = True
            'Stop
            'Resume                                              'Para volver al punto donde se produce el error.
            'Resume Next                                         'Para volver a la línea siguiente donde se produce el error.
            
                End Select
            
                Resume mcblnMkDir_Exit             'Ir al procedimiento de salida.
            
            End Function
            Ver en el repositorio
            Compartir
            1
            Rafael Andrada
            Rafael Andrada

            Entradas relacionadas

            19/03/2023

            Función que convierte cualquier carácter a texto puramente ASCII (Access VBA)


            Leer más
            24/03/2022

            Obtener la fecha del primer día de la semana o último día de la semana en Access VBA


            Leer más
            11/03/2022

            Actualizar una conexión ODBC en tiempo de ejecución


            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 Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              Tratamiento de errores: otras herramientas útiles
              31/03/2023
            • 0
              Tratamiento de errores: compilación condicional
              30/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