Crear menu de libros excel

Hola, tengo unos libros de excel, dentro de subcarpetas en un directorio de mi ordenador
¿Podría crear un índice que recogiera todos estos archivos automáticamente y generara un link para acceder a ellos directamente?
Gracias
Respuesta
1
Alnadur te adjunto una macro para que la pruebes:
Sub Listar()
Dim i As Long
Dim MiRuta As String
Dim MiNombre As String
i = 1
MiRuta = "Y:\TEMPO\BACKUP\*.xls"   'cambia la ruta de tua archivos
MiNombre = Dir(MiRuta, 0)
Do While MiNombre <> ""
If MiNombre <> "." And MiNombre <> ".." Then
Range("A" & i).Select
ruta1 = "Y:\TEMPO\BACKUP\" & MiNombre
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ruta1, TextToDisplay:=ruta1
i = i + 1
End If
MiNombre = Dir
Loop
End Sub
Estupendo!
La macro funciona perfectamente, solamente no me reconoce los archivos dentro de subdirectorios.
¿Podría aparecer como link el titulo de la hoja excel o el contenido de una celda en concreto en lugar de la ruta hasta el archivo?
Gracias
Para ver solo el nombre del directorio en lista tienes que realizar una pequeña modificación:
Sub Listar()
Dim i As Long
Dim MiRuta As String
Dim MiNombre As String
i = 1
MiRuta = "Y:\TEMPO\BACKUP\*.*"   'cambia la ruta de tua archivos
MiNombre = Dir(MiRuta, 0)
Do While MiNombre <> ""
If MiNombre <> "." And MiNombre <> ".." Then
Range("A" & i).Select
ruta1 = "Y:\TEMPO\BACKUP\" & MiNombre
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ruta1, TextToDisplay:=MiNombre
i = i + 1
End If
MiNombre = Dir
Loop
End Sub
Te adjunto una nueva macro para los sub directorios con la modificaiones que solicitas:
Sub ficheros_y_subdirectorios_del_directorio()
On Error Resume Next
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
ruta = "Y:\TEMPO\"
Set directorio = fso.GetFolder(ruta)
Set subdirectorios = directorio.subfolders
Set ficheros = directorio.Files
Range("D6").Select
ActiveCell = "Subdirectorios del directorio:"
ActiveCell.Font.Bold = True
ActiveCell.Font.Underline = xlUnderlineStyleSingle
ActiveCell.Offset(1, 0).Select
For Each subdirectorio In subdirectorios
ActiveCell = subdirectorio.Name
ruta1 = ruta & subdirectorio.Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ruta1, TextToDisplay:=subdirectorio.Name
ActiveCell.Offset(1, 0).Select
Next
ActiveCell = "Ficheros del directorio:"
ActiveCell.Font.Bold = True
ActiveCell.Font.Underline = xlUnderlineStyleSingle
ActiveCell.Offset(1, 0).Select
For Each archivo In ficheros
ActiveCell = archivo.Name
ruta1 = ruta & archivo.Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ruta1, TextToDisplay:=archivo.Name
ActiveCell.Offset(1, 0).Select
Next
Set fso = Nothing
Set directorio = Nothing
Set subdirectorios = Nothing
Set ficheros = Nothing
Application.ScreenUpdating = True
End Sub
Fuente:http://hojas-de-calculo-en-excel.blogspot.com/2008/11/listar-los-archivos-de-un-directorio.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas