Hola a todos:
Me acaba de llegar la siguiente consulta:
«Si está en ti en ayudarme, me gustaría saber como hacer para que solo me liste los nombres de las carpetas y sus propiedades, solo las carpetas. Si no, pues te agradezco mucho por tus excelentes trabajos….saludos«
Esta consulta la escribió el lector en este post. Y dado que no requiere mucho desarrollo le enviaré la solución.
Solo tendremos que realizar unas pequeñas modificaciones en la macro original y ya lo tenemos:
Sub LISTAR_CARPETAS()
'Declaramos variables
Dim sFSO As Object, Directorio As String
Dim dir_Archivo As Variant
'Abrimos ventana de diálogo para seleccionar carpeta
Set dir_Archivo = Application.FileDialog(msoFileDialogFolderPicker)
dir_Archivo.Show
'Si no seleccionamos nada salimos del proceso
If dir_Archivo.SelectedItems.Count = 0 Then
Exit Sub
End If
'Capturamos el directorio del archivo seleccionado
Directorio = dir_Archivo.SelectedItems(1)
'ejecutamos función Carpeta
Set sFSO = CreateObject("Scripting.FileSystemObject")
CARPETA sFSO.GetFolder(Directorio)
End Sub
Function CARPETA(ByVal nCarpeta)
'Declaramos variables
Dim j As Long, Subcarpeta As Object
'Con la hoja activa
With ActiveSheet
.Cells(1, 1) = "RUTA COMPLETA"
.Cells(1, 2) = "NOMBE CARPETA"
.Cells(1, 3) = "TAMAÑO BYTES"
'Iniciamos loop para recorrer carpeta y subcarpeta
For Each Subcarpeta In nCarpeta.SubFolders
j = Application.CountA(.Range("A:A")) + 1
'listamos propiedades
.Cells(j, 1) = Subcarpeta
.Cells(j, 2) = Subcarpeta.Name
.Cells(j, 3) = Subcarpeta.Size
CARPETA Subcarpeta
j = j + 1
Next
End With
End Function
Como podéis observar se trata de una macro que en su ejecución llama a una función que recorre cada una de las carpetas y subcarpetas. Y tal y como solicitaba el lector también he añadido algunas propiedades, como la ruta, el nombre o el tamaño (en bytes).
Este es el resultado de la ejecución de la macro, exactamente lo solicitado.
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies