Cómo obtener todas las rutas de acceso de una carpeta en Excel VBA
ฝัง
- เผยแพร่เมื่อ 10 ต.ค. 2024
- Código VBA:
Private objeto As Scripting.FileSystemObject
Private archivo As Scripting.File
Private archivos As Scripting.Files
Private carpeta As Scripting.Folder
Sub OBTENER_ARCHIVOS(ruta As String)
Set objeto = New FileSystemObject
Set carpeta = objeto.GetFolder(ruta)
Set archivos = carpeta.Files
For Each archivo In archivos
ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Range("A1").Select
Next archivo
End Sub
Sub LLAMAR_OBTENER_ARCHIVOS()
Dim ruta As String
ruta = Range("H5").Value
Call OBTENER_ARCHIVOS(ruta)
End Sub
TE OLVIDASTE DE DECIR EN ESTE VIDEO QUE PARA QUE NO NOS DE ERROR SE DEBE PREVIAMENTE ACTIVAR LA FUNCION "SCRIPTING" LO HACES DESDE "REFERENCIAS" (ALT+H+R) : "MICROSOFT SCRIPTING RUNTIME. Gracias.
gracias!
Muchísimas gracias porque indirectamente me resolviste un problema que tenía en mi código, eres el mejor
Excelente Video! En este ejemplo no se procesan subdirectorios y otra alternativa seria desde la consola usar el comando dir, redireccionar la salida a un archivo e importarlo a Excel
Una duda, porque el objeto FSO no está por defecto en VBA? Excelente video! Gracias!
Muy buen video, quisiera pedir de favor si se puede hacer la macro para que solo llame archivos de un mismo en mi caso tengo una carpeta donde hay Excel, pdf y XML yo solo quiero que me muestre la ruta de los archivos XML que tengo en esa carpeta. Saludos y gracias
Hola muy bueno tu video, es pocible crear una macro para que abra un archivo llamado solapa que está en el escritorio, no importando si está escrito en mayúsculas o minúsculas?. Gracias saludos desde Chile.
agradecería si nos pudieras compartir tu archivo de excel para analizarlo
Me sale error de compilación: No se ha definido el tipo definido por el usuario
me sale error, será que necesito hacer los tutos anteriores? me marca sobre las primeras líneas de Private
Pruebe con la instrucción que se da en este otro video th-cam.com/video/zHJPliWS9FQ/w-d-xo.html, a mi me funcionó.
Hay cosas que no comprendo, y busco los demás tutora les y nos los encuentro... Por ejemplo... Como cuentas cuántos archivos hay en una carpeta, de donde viene la ruta de la carpeta porque a mi no me funciona. Me colabora por favor
Este es el link al vídeo donde cuentas los archivos:
th-cam.com/video/shjweKkh5o0/w-d-xo.html
Esto debes hacer para crear la referencia a la librería:
1. Alt+F11
2. Alt+H+R
3. M
4. Buscar Microsoft Scripting Runtime
5. Barra espaciadora
6. Enter
Este es el código para obtener las rutas:
Código VBA:
Private objeto As Scripting.FileSystemObject
Private archivo As Scripting.File
Private archivos As Scripting.Files
Private carpeta As Scripting.Folder
Sub OBTENER_ARCHIVOS(ruta As String)
Set objeto = New FileSystemObject
Set carpeta = objeto.GetFolder(ruta)
Set archivos = carpeta.Files
For Each archivo In archivos
ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Range("A1").Select
Next archivo
End Sub
Sub LLAMAR_OBTENER_ARCHIVOS()
Dim ruta As String
ruta = Range("H5").Value
Call OBTENER_ARCHIVOS(ruta)
End Sub
Exoluciones Y más ese ya me lo vi, y muchas gracias muy bueno pero entre este video y el que me envías no falta algo?
Cómo obtienes scripting
1. Alt+F11
2. Alt+H+R
3. M
4. Buscar Microsoft Scripting Runtime
5. Barra espaciadora
6. Enter
Luego de ello ya podrás usarlo.
@ Porque no está por defecto ese objeto?
En palabras que hace esa macro?
Encuentra y pega las rutas de los archivos
En mi caso lo voy a usar para otra macro que me encuentra la ruta de unas carpetas y allí crear un archivo que a su vez será llenado con otra marco jaja
Me sale error de compilación: No se ha definido el tipo definido por el usuario
R SE DEBE PREVIAMENTE ACTIVAR LA FUNCION "SCRIPTING" LO HACES DESDE "REFERENCIAS" (ALT+H+R) : "MICROSOFT SCRIPTING RUNTIME. Gracias.