Jose María Fueyo preguntaba: Hola a todos. ¿Como puedo obtener los nombres de las carpetas que están contenidos en una carpeta? solo quiero las carpetas, no los archivos. Muchas gracias. RESPONDE EL MISMO ================= Me respondo a mi mismo. Hay una colección SubFolders dentro del objeto Folder. Hay que usarlo igual que la colección Files. SIGUE EL BUHO ============= Pues yo desconocía dicho tema. Gracias por la Info. En la ayuda viene muy claro, es verdad. Y efectivamente, referenciando la librería "Microsoft Scripting Runtime", esta funcion serviría: Function MiraSubcarpetas(RutaCarpeta As String) As String Dim fs As Object Dim f As Object, f1 As Object, fc As Object Dim Devuelve As String Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(RutaCarpeta) Set fc = f.SubFolders For Each f1 In fc Devuelve = Devuelve & f1.Name & vbCrLf Next MiraSubcarpetas = Devuelve End Function Y desde cualquier punto del programa msgbox MiraSubcarpetas("C:\") por ejemplo... O desde la propia función, ir metiendo a cada paso del FOR, el nombre de las subcarpetas en una Tabla...que es como lo tenía yo en el ejemplo que te mencioné, pero utilizando el DIR. Ya sabemos una cosa más. SIGUE EL BUHO ============= Chema, esta es la que te decía yo sin referenciar la Microsoft Scripting Runtime Function Directorios(CarpetaGeneral As String) As String Dim Fichero As String, Devuelve As String Fichero = Dir(CarpetaGeneral, vbDirectory) Do While Fichero <> "" If Fichero <> "." And Fichero <> ".." Then If (GetAttr(CarpetaGeneral & Fichero) And vbDirectory) = vbDirectory Then Devuelve = Devuelve & Fichero & vbCrLf End If End If Fichero = Dir Loop Directorios = Devuelve End Function