Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ofimática (http://www.forosdelweb.com/f90/)
-   -   Trasladar estructura de carpetas a Excel (http://www.forosdelweb.com/f90/trasladar-estructura-carpetas-excel-549315/)

MIguel Alarco 18/01/2008 04:49

Trasladar estructura de carpetas a Excel
 
Quiero pasar las estructuras de carpetas de Windows con todos sus niveles y archivos, a un formato de excel de manera automatica, se puede hacer esto?

Ademas de que cada archivo que se exporte a excel, este con hipervinculo.

Saludos,

Miguel

Taribo007 18/01/2008 05:46

Re: Trasladar estructura de carpetas a Excel
 
Prueba esta funcion que he adaptado de access:

Public Function ListarArchivosCarpeta(NombreCarpeta)
Dim fso As Object
Dim carpeta As Object
Dim Archivo As Object
Dim ListaArchivos As String
Dim fila As Integer
Dim Columna As Integer

Columna = 1
fila = 0


Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder(NombreCarpeta)

'Recorremos la carpeta
For Each Archivo In carpeta.Files
'Buscamos en los archivos de la carpeta
fila = fila + 1
ActiveSheet.Cells(fila, Columna).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=NombreCarpeta & "\" & Archivo.Name, _
TextToDisplay:=Archivo.Name
Next

Set carpeta = Nothing
Set Archivo = Nothing
Set fso = Nothing
End Function

Y la llamas asi:

Call ListarArchivosCarpeta("C:\demo")

Un saludo

Taribo007 18/01/2008 06:17

Re: Trasladar estructura de carpetas a Excel
 
y esta para carpetas y sub carpetas:

Public Function ListarArchivosCarpetaYSubCarpetas(nomCarpeta As String, NumFila)
Dim ObjetoFSO As Object
Dim Carpeta As Object
Dim SubCarpeta As Object
Dim Archivos As Object
Dim Archivo As Object
Dim fila As Integer
Dim Columna As Integer

Columna = 1
fila = NumFila

Set ObjetoFSO = CreateObject("Scripting.FileSystemObject")
Set Carpeta = ObjetoFSO.GetFolder(nomCarpeta)
Set Archivos = Carpeta.Files
For Each Archivo In Archivos
'Buscamos en los archivos de la carpeta
'Buscamos en los archivos de la carpeta
fila = fila + 1
ActiveSheet.Cells(fila, Columna).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=nomCarpeta & "\" & Archivo.Name, _
TextToDisplay:=Archivo.Name
Next
Set Archivos = Nothing
' Buscamos en las carpetas y subcarpeta haciendo
'llamadas recursivas a la funcion
For Each SubCarpeta In Carpeta.SubFolders
Call ListarArchivosCarpetaYSubCarpetas(nomCarpeta & "\" & SubCarpeta.Name, fila)
Next
Set Carpeta = Nothing
Set ObjetoFSO = Nothing

End Function


Y la llamas asi:

Call ListarArchivosCarpetaYSubCarpetas("C:\demo", 0)

Un saludo

mrocf 18/01/2008 06:28

Re: Trasladar estructura de carpetas a Excel
 
La primera parte de tu consulta es sencilla de realizar.

Pero:
¿Qué significa "que cada archivo que se exporte a excel esté con hipervinculo" ?

O sea: ¿A qué le llamas exportar a excel", ¿Donde quieres colocar tal hipervínculo?

Saludos


La zona horaria es GMT -6. Ahora son las 06:24.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.