Como puedo hacer la lista para que también me acceda distintas carpetas y me liste su contenido con la información de la subcarpeta dónde está el archivo?
Sub Listar_Archivos() ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS") Mostrar_Archivos (ruta) End Sub '----------------------------------------------------------------------- Sub Mostrar_Archivos(ruta) 'Sección 1: Declaración de variables y objetos Dim fs, Carpeta, Archivo, subcarpeta As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Sección 2: Ajustes necesarios a ruta If ruta = "" Then Exit Sub ElseIf Right(ruta, 1) "" Then ruta = ruta & "" End If 'Sección 3: Objeto Folder de la ruta indicada On Error GoTo ErrHandler Set Carpeta = fs.GetFolder(ruta) 'Sección 4: Obtener archivos del objeto Folder For Each Archivo In Carpeta.Files ActiveCell.Value = ruta & "\" & Archivo.Name ActiveCell.Offset(1, 0).Select Next 'Sección 5: Obtener subcarpetas del objeto Folder For Each subcarpeta In Carpeta.SubFolders Mostrar_Archivos (subcarpeta) Next 'Sección 6: Auto-ajustar columnas y salir ActiveCell.EntireColumn.AutoFit Exit Sub ErrHandler: ActiveCell.Value = "Ruta inexistente" End Sub
Jesus, buen dia y mil gracias por su aporte, me ha sido de gran ayuda; tengo una consulta, la macro lista las carpetas q no contengan archivos o mejor q esten vacias?
Hola Jesús, me ha servido mucho tu aportación Muchisimas gracias Oye, pero tengo una pregunta Ese código tú lo creaste ? o cómo lo has obtenido, es que soy nueva en el lenguaje de programación en VB y me gustaría aprender a entender la lógica de los códigos
Hola Luis, aquí va: Sub Listar_Archivos() ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS") Mostrar_Archivos (ruta) End Sub '----------------------------------------------------------------------- Sub Mostrar_Archivos(ruta) 'Sección 1: Declaración de variables y objetos Dim fs, Carpeta, Archivo, subcarpeta As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Sección 2: Ajustes necesarios a ruta If ruta = "" Then Exit Sub ElseIf Right(ruta, 1) "" Then ruta = ruta & "" End If 'Sección 3: Objeto Folder de la ruta indicada On Error GoTo ErrHandler Set Carpeta = fs.GetFolder(ruta) 'Sección 4: Obtener archivos del objeto Folder For Each Archivo In Carpeta.Files ActiveCell.Value = ruta & "\" & Archivo.Name ActiveCell.Offset(1, 0).Select Next 'Sección 5: Obtener subcarpetas del objeto Folder For Each subcarpeta In Carpeta.SubFolders Mostrar_Archivos (subcarpeta) Next 'Sección 6: Auto-ajustar columnas y salir ActiveCell.EntireColumn.AutoFit Exit Sub ErrHandler: ActiveCell.Value = "Ruta inexistente" End Sub
Aquí va Sub Listar_Archivos() ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS") Mostrar_Archivos (ruta) End Sub '----------------------------------------------------------------------- Sub Mostrar_Archivos(ruta) 'Sección 1: Declaración de variables y objetos Dim fs, Carpeta, Archivo, subcarpeta As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Sección 2: Ajustes necesarios a ruta If ruta = "" Then Exit Sub ElseIf Right(ruta, 1) "" Then ruta = ruta & "" End If 'Sección 3: Objeto Folder de la ruta indicada On Error GoTo ErrHandler Set Carpeta = fs.GetFolder(ruta) 'Sección 4: Obtener archivos del objeto Folder For Each Archivo In Carpeta.Files ActiveCell.Value = ruta & "\" & Archivo.Name ActiveCell.Offset(1, 0).Select Next 'Sección 5: Obtener subcarpetas del objeto Folder For Each subcarpeta In Carpeta.SubFolders Mostrar_Archivos (subcarpeta) Next 'Sección 6: Auto-ajustar columnas y salir ActiveCell.EntireColumn.AutoFit Exit Sub ErrHandler: ActiveCell.Value = "Ruta inexistente" End Sub
Antonio, aquí va: Sub Listar_Archivos() ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS") Mostrar_Archivos (ruta) End Sub '----------------------------------------------------------------------- Sub Mostrar_Archivos(ruta) 'Sección 1: Declaración de variables y objetos Dim fs, Carpeta, Archivo, subcarpeta As Object Set fs = CreateObject("Scripting.FileSystemObject") 'Sección 2: Ajustes necesarios a ruta If ruta = "" Then Exit Sub ElseIf Right(ruta, 1) "" Then ruta = ruta & "" End If 'Sección 3: Objeto Folder de la ruta indicada On Error GoTo ErrHandler Set Carpeta = fs.GetFolder(ruta) 'Sección 4: Obtener archivos del objeto Folder For Each Archivo In Carpeta.Files ActiveCell.Value = ruta & "\" & Archivo.Name ActiveCell.Offset(1, 0).Select Next 'Sección 5: Obtener subcarpetas del objeto Folder For Each subcarpeta In Carpeta.SubFolders Mostrar_Archivos (subcarpeta) Next 'Sección 6: Auto-ajustar columnas y salir ActiveCell.EntireColumn.AutoFit Exit Sub ErrHandler: ActiveCell.Value = "Ruta inexistente" End Sub
@@Macroexcelaton hola buen día, me gustan tus vídeos, te agradecería si me puedes ayudar a crear un macro lo que pasa es trabajo en nómina de una empresa grande, ahí salen las nóminas para diferentes unidades en archivo PDF pero por unidad salen 10 50 ó más de 100 archivos PDF, me gustaría saber si hay una forma de dividir esos archivos PDF por subcarpetas de acuerdo a un listado generado de Excel
Sub Listar_Archivos() ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS") Mostrar_Archivos (ruta) End Sub '----------------------------------------------------------------------- Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos Dim fs, Carpeta, Archivo, subcarpeta As Object Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta If ruta = "" Then Exit Sub ElseIf Right(ruta, 1) "" Then ruta = ruta & "" End If
'Sección 3: Objeto Folder de la ruta indicada On Error GoTo ErrHandler Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder For Each Archivo In Carpeta.Files ActiveCell.Value = ruta & "\" & Archivo.Name ActiveCell.Offset(1, 0).Select Next
'Sección 5: Obtener subcarpetas del objeto Folder For Each subcarpeta In Carpeta.SubFolders Mostrar_Archivos (subcarpeta) Next
'Sección 6: Auto-ajustar columnas y salir ActiveCell.EntireColumn.AutoFit Exit Sub
Gran Macro!!!!! Maravilloso aporte.
Me maravilla pensar las utilidades que le puedo sacar a esto!!!
Muchas gracias por mostrárnoslo!!!!
muy útil.... lo recomiendo si funciona !
muchas gracias me sirvio de mucho, explicas genial
Muy bien y bastante útil
Excelente aporte
Como puedo hacer la lista para que también me acceda distintas carpetas y me liste su contenido con la información de la subcarpeta dónde está el archivo?
Excelente
Sub Listar_Archivos()
ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS")
Mostrar_Archivos (ruta)
End Sub
'-----------------------------------------------------------------------
Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos
Dim fs, Carpeta, Archivo, subcarpeta As Object
Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta
If ruta = "" Then
Exit Sub
ElseIf Right(ruta, 1) "" Then
ruta = ruta & ""
End If
'Sección 3: Objeto Folder de la ruta indicada
On Error GoTo ErrHandler
Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder
For Each Archivo In Carpeta.Files
ActiveCell.Value = ruta & "\" & Archivo.Name
ActiveCell.Offset(1, 0).Select
Next
'Sección 5: Obtener subcarpetas del objeto Folder
For Each subcarpeta In Carpeta.SubFolders
Mostrar_Archivos (subcarpeta)
Next
'Sección 6: Auto-ajustar columnas y salir
ActiveCell.EntireColumn.AutoFit
Exit Sub
ErrHandler:
ActiveCell.Value = "Ruta inexistente"
End Sub
Esto es la macro?
@@consuelosalazar5318 Si, esta es. Haz click en más información para verla toda.
Jesus, buen dia y mil gracias por su aporte, me ha sido de gran ayuda; tengo una consulta, la macro lista las carpetas q no contengan archivos o mejor q esten vacias?
Jhon buen día. Sólo lista archivos. Si no hay archivos no muestra nada
Tienes algo así pero para listar CARPETAS dentro de una carpeta, en vez de archivos?
Y si quisiera que me dejara las listas con hipervínculos????
Hola Norberto, revisa este video. Te puede ayudar ruclips.net/video/k4PropUK-MU/видео.html
@@Macroexcelaton gracias amigo, me sirvió mucho
Buenas noches soy nuevo en excel, y si solo quiero listar las subcarpetas?
Hola Cristian, puedes utilizar esta macro y filtrar en excel lo que necesitas.
Hola Jesús, me ha servido mucho tu aportación
Muchisimas gracias
Oye, pero tengo una pregunta
Ese código tú lo creaste ? o cómo lo has obtenido, es que soy nueva en el lenguaje de programación en VB y me gustaría aprender a entender la lógica de los códigos
Muy útil el tutorial, me sirvió mucho. Hay forma de que aparezca sin la extencion en la hoja de calculo?
ME LO PODRIAS PASAR? POR FAVOR
En el anterior comentario les coloqué la macro
Hola Jesus, muy buen video, me podrias pasar la macro?
Hola Luis, aquí va:
Sub Listar_Archivos()
ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS")
Mostrar_Archivos (ruta)
End Sub
'-----------------------------------------------------------------------
Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos
Dim fs, Carpeta, Archivo, subcarpeta As Object
Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta
If ruta = "" Then
Exit Sub
ElseIf Right(ruta, 1) "" Then
ruta = ruta & ""
End If
'Sección 3: Objeto Folder de la ruta indicada
On Error GoTo ErrHandler
Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder
For Each Archivo In Carpeta.Files
ActiveCell.Value = ruta & "\" & Archivo.Name
ActiveCell.Offset(1, 0).Select
Next
'Sección 5: Obtener subcarpetas del objeto Folder
For Each subcarpeta In Carpeta.SubFolders
Mostrar_Archivos (subcarpeta)
Next
'Sección 6: Auto-ajustar columnas y salir
ActiveCell.EntireColumn.AutoFit
Exit Sub
ErrHandler:
ActiveCell.Value = "Ruta inexistente"
End Sub
Que buen video, me compartes la macro por favor
Aquí va
Sub Listar_Archivos()
ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS")
Mostrar_Archivos (ruta)
End Sub
'-----------------------------------------------------------------------
Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos
Dim fs, Carpeta, Archivo, subcarpeta As Object
Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta
If ruta = "" Then
Exit Sub
ElseIf Right(ruta, 1) "" Then
ruta = ruta & ""
End If
'Sección 3: Objeto Folder de la ruta indicada
On Error GoTo ErrHandler
Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder
For Each Archivo In Carpeta.Files
ActiveCell.Value = ruta & "\" & Archivo.Name
ActiveCell.Offset(1, 0).Select
Next
'Sección 5: Obtener subcarpetas del objeto Folder
For Each subcarpeta In Carpeta.SubFolders
Mostrar_Archivos (subcarpeta)
Next
'Sección 6: Auto-ajustar columnas y salir
ActiveCell.EntireColumn.AutoFit
Exit Sub
ErrHandler:
ActiveCell.Value = "Ruta inexistente"
End Sub
JESUS NU APARECE EL CODIGO EN LOS COMENTARIOS
Antonio, aquí va:
Sub Listar_Archivos()
ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS")
Mostrar_Archivos (ruta)
End Sub
'-----------------------------------------------------------------------
Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos
Dim fs, Carpeta, Archivo, subcarpeta As Object
Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta
If ruta = "" Then
Exit Sub
ElseIf Right(ruta, 1) "" Then
ruta = ruta & ""
End If
'Sección 3: Objeto Folder de la ruta indicada
On Error GoTo ErrHandler
Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder
For Each Archivo In Carpeta.Files
ActiveCell.Value = ruta & "\" & Archivo.Name
ActiveCell.Offset(1, 0).Select
Next
'Sección 5: Obtener subcarpetas del objeto Folder
For Each subcarpeta In Carpeta.SubFolders
Mostrar_Archivos (subcarpeta)
Next
'Sección 6: Auto-ajustar columnas y salir
ActiveCell.EntireColumn.AutoFit
Exit Sub
ErrHandler:
ActiveCell.Value = "Ruta inexistente"
End Sub
@@Macroexcelaton hola buen día, me gustan tus vídeos, te agradecería si me puedes ayudar a crear un macro lo que pasa es trabajo en nómina de una empresa grande, ahí salen las nóminas para diferentes unidades en archivo PDF pero por unidad salen 10 50 ó más de 100 archivos PDF, me gustaría saber si hay una forma de dividir esos archivos PDF por subcarpetas de acuerdo a un listado generado de Excel
Sub Listar_Archivos()
ruta = InputBox("INGRESAR LA RUTA A LISTAR ARCHIVOS")
Mostrar_Archivos (ruta)
End Sub
'-----------------------------------------------------------------------
Sub Mostrar_Archivos(ruta)
'Sección 1: Declaración de variables y objetos
Dim fs, Carpeta, Archivo, subcarpeta As Object
Set fs = CreateObject("Scripting.FileSystemObject")
'Sección 2: Ajustes necesarios a ruta
If ruta = "" Then
Exit Sub
ElseIf Right(ruta, 1) "" Then
ruta = ruta & ""
End If
'Sección 3: Objeto Folder de la ruta indicada
On Error GoTo ErrHandler
Set Carpeta = fs.GetFolder(ruta)
'Sección 4: Obtener archivos del objeto Folder
For Each Archivo In Carpeta.Files
ActiveCell.Value = ruta & "\" & Archivo.Name
ActiveCell.Offset(1, 0).Select
Next
'Sección 5: Obtener subcarpetas del objeto Folder
For Each subcarpeta In Carpeta.SubFolders
Mostrar_Archivos (subcarpeta)
Next
'Sección 6: Auto-ajustar columnas y salir
ActiveCell.EntireColumn.AutoFit
Exit Sub
ErrHandler:
ActiveCell.Value = "Ruta inexistente"
End Sub