Cómo obtener todas las rutas de acceso de una carpeta en Excel VBA

Поділитися
Вставка
  • Опубліковано 9 вер 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

КОМЕНТАРІ • 23

  • @CHRISFIRSTCADCAM
    @CHRISFIRSTCADCAM 2 роки тому +8

    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.

  • @rodrigogalvan3598
    @rodrigogalvan3598 4 роки тому +1

    Muchísimas gracias porque indirectamente me resolviste un problema que tenía en mi código, eres el mejor

  • @lacs83
    @lacs83 6 років тому

    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

  • @johandanielmaciascriollo3690
    @johandanielmaciascriollo3690 2 роки тому

    Gracias

  • @angelf8301
    @angelf8301 3 роки тому +2

    Me sale error de compilación: No se ha definido el tipo definido por el usuario

    • @camposramosfrancisco2284
      @camposramosfrancisco2284 2 роки тому

      R SE DEBE PREVIAMENTE ACTIVAR LA FUNCION "SCRIPTING" LO HACES DESDE "REFERENCIAS" (ALT+H+R) : "MICROSOFT SCRIPTING RUNTIME. Gracias.

  • @joseangel6788
    @joseangel6788 2 роки тому

    Una duda, porque el objeto FSO no está por defecto en VBA? Excelente video! Gracias!

  • @undopol
    @undopol 4 роки тому +3

    me sale error, será que necesito hacer los tutos anteriores? me marca sobre las primeras líneas de Private

    • @wagnersalazar8288
      @wagnersalazar8288 3 роки тому

      Pruebe con la instrucción que se da en este otro video ua-cam.com/video/zHJPliWS9FQ/v-deo.html, a mi me funcionó.

  • @nilfus
    @nilfus 5 років тому

    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

  • @obetGr
    @obetGr 3 роки тому

    agradecería si nos pudieras compartir tu archivo de excel para analizarlo

  • @juanruzchamorro4196
    @juanruzchamorro4196 4 роки тому

    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.

  • @yemosqlove8850
    @yemosqlove8850 6 років тому

    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

    •  6 років тому +1

      Este es el link al vídeo donde cuentas los archivos:
      ua-cam.com/video/shjweKkh5o0/v-deo.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

    • @yemosqlove8850
      @yemosqlove8850 6 років тому

      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?

  • @johnnybarron8716
    @johnnybarron8716 6 років тому +2

    Cómo obtienes scripting

    •  6 років тому +2

      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.

    • @joseangel6788
      @joseangel6788 2 роки тому

      @ Porque no está por defecto ese objeto?

  • @harlesepc5906
    @harlesepc5906 3 роки тому

    En palabras que hace esa macro?

    • @LIT0KA
      @LIT0KA 3 роки тому

      Encuentra y pega las rutas de los archivos

    • @LIT0KA
      @LIT0KA 3 роки тому

      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

  • @obetGr
    @obetGr 3 роки тому

    Me sale error de compilación: No se ha definido el tipo definido por el usuario