Detectar los Archivos de un CD

12/01/2007 - 19:23 por J.P. | Informe spam
Buenas tardes atodos los participantes del grupo.

Bueno tengo unos cds con informacón distinta el ideal es generar una
macro la cual me recorra el cd (logico tendria que darle el nombre de
la unidad) y que en una hoja de excel me escriba todos los archivos y
carpetas que existan.

Alguien me puede dar una idea de como hacerlo espero me puedan ayudar
gracias.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/01/2007 - 04:52 | Informe spam
hola, jose !

... tengo unos cds con informacon... generar una macro la cual me recorra el cd
(logico tendria que darle el nombre de la unidad)
y que en una hoja de excel me escriba todos los archivos y carpetas que existan...



algunos sitios con ejemplos diversos...

How To Search Directories to Find or List Files
http://support.microsoft.com/defaul...-us;185476

HOW TO: Recursively Search Directories by Using FileSystemObject
http://support.microsoft.com/kb/185601/EN-US/

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
13/01/2007 - 05:22 | Informe spam
hola [de nuevo], jose !

... macro... recorra el cd (logico tendria que darle el nombre de la unidad)
y que en una hoja de excel me escriba todos los archivos y carpetas que existan.



un ejemplo: PERO... primero establece una referencia en tu proyecto de vba a la libreria:
-> Microsoft Scripting RunTime [menu: herramientas / referencias]

pones la unidad logica de tu CD [p.e.] d:\ -> en la celda 'A1'
copias/pegas las siguientes lineas en un modulo de codigo general... y la ejecutas :))

saludos,
hector.

Sub Lista_de_archivos(): Application.ScreenUpdating = False
Range("a3") = "Archivos:"
Lista_archivos_en Range("a1"), True
End Sub
Sub Lista_archivos_en(Carpeta As String, Completo As Boolean)
Dim fso As FileSystemObject, Ruta As Folder, _
SubCarpeta As Folder, Archivo As File, Fila As Long
Set fso = New Scripting.FileSystemObject: Set Ruta = fso.GetFolder(Carpeta)
Fila = Range("a65536").End(xlUp).Row + 1
For Each Archivo In Ruta.Files
With Archivo: On Error Resume Next
Range("a" & Fila) = .Path
End With: Fila = Fila + 1
Next
If Completo Then
For Each SubCarpeta In Ruta.SubFolders
Lista_archivos_en SubCarpeta.Path, True
Next
End If: Columns("a:a").AutoFit
Set Ruta = Nothing: Set fso = Nothing
End Sub
Respuesta Responder a este mensaje
#3 J.P.
15/01/2007 - 15:09 | Informe spam
Buenos Días

Gracias es justo lo que necesitaba, aunque me quedo la duda de que es
lo que hace realmente la biblioteca Microsoft Scripting RunTime, bueno
con tiempo averiguare´cual es su función.

De nuevo muchas Gracias.

Héctor Miguel ha escrito:

hola [de nuevo], jose !

> ... macro... recorra el cd (logico tendria que darle el nombre de la unidad)
> y que en una hoja de excel me escriba todos los archivos y carpetas que existan.

un ejemplo: PERO... primero establece una referencia en tu proyecto de vba a la libreria:
-> Microsoft Scripting RunTime [menu: herramientas / referencias]

pones la unidad logica de tu CD [p.e.] d:\ -> en la celda 'A1'
copias/pegas las siguientes lineas en un modulo de codigo general... y la ejecutas :))

saludos,
hector.

Sub Lista_de_archivos(): Application.ScreenUpdating = False
Range("a3") = "Archivos:"
Lista_archivos_en Range("a1"), True
End Sub
Sub Lista_archivos_en(Carpeta As String, Completo As Boolean)
Dim fso As FileSystemObject, Ruta As Folder, _
SubCarpeta As Folder, Archivo As File, Fila As Long
Set fso = New Scripting.FileSystemObject: Set Ruta = fso.GetFolder(Carpeta)
Fila = Range("a65536").End(xlUp).Row + 1
For Each Archivo In Ruta.Files
With Archivo: On Error Resume Next
Range("a" & Fila) = .Path
End With: Fila = Fila + 1
Next
If Completo Then
For Each SubCarpeta In Ruta.SubFolders
Lista_archivos_en SubCarpeta.Path, True
Next
End If: Columns("a:a").AutoFit
Set Ruta = Nothing: Set fso = Nothing
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida