Abrir varios libros

06/10/2006 - 11:01 por Carlos | Informe spam
¿Como puedo hacer para abrir todos los archivos excel que haya en un
directorio?

Saludos

Carlos

Preguntas similare

Leer las respuestas

#1 Tux
06/10/2006 - 12:24 | Informe spam
Carlos escribió:
¿Como puedo hacer para abrir todos los archivos excel que haya en un
directorio?

Saludos

Carlos



buenas Carlos :-)

Prueba con esta macro en un módulo nuevo, la situas en un libro en el
directorio que quieras abrir:

Sub AbrirLibrosDeDirectorios()

Dim i As Long

Dim Libro As Workbook

Dim Directorio As String

Directorio = ActiveWorkbook.Path

On Error Resume Next


With Application.FileSearch

.NewSearch

.LookIn = Directorio

.Filename = "*.xls"

.Execute

For i = 1 To .FoundFiles.Count

Set Libro = Workbooks.Open(Filename:=.FoundFiles(i))

Next i

End With
On Error GoTo 0

End Sub

Nos comentas ok?:-)
¡Un SAludo!:-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
#2 Héctor Miguel
07/10/2006 - 02:45 | Informe spam
hola, chicos !

Carlos escribio en el mensaje ...
Como puedo hacer para abrir todos los archivos excel que haya en un directorio?

Tux escribio en el mensaje ...
Prueba con esta macro en un modulo nuevo, la situas en un libro en el directorio que quieras abrir:





una alternativa es usando la funcion Dir() [solo por si las dudas, por lo siguiente]:

[hasta donde se]... un objeto 'FileSearch' pudiera ser ineficiente cuando se combinan 'ciertos factores'... [p.e.]
- la 'pareja' de versiones de office/excel 'con' windows [y las actualizaciones instaladas]
- como se pudiera 'combinar' el '.FileName' con el '.FileType' [y se se usan 'comodines' antes/despues del 'patron de busqueda']
- con 'ciertas combinaciones'... el metodo '.Execute()' -> NO devuelve nada :-\\

-> suponiendo que escribes en la celda 'A1' de la hoja1 la ruta elegida [p.e.] C:\Mis respaldos\Todos los libros\
- NO olvides el '\' al final :))
copia/pega/... las siguientes lineas en un modulo de codigo 'general' EN el proyecto de macros de 'ese' libro...

Sub Abrir_archivos_en()
Dim Archivo As String
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets(1)
Archivo = Dir(.Range("a1") & "*.xls")
Do While Archivo <> ""
Workbooks.Open .Range("a1") & Archivo
Archivo = Dir()
Loop
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el resto de la propuesta __
Sub AbrirLibrosDeDirectorios()
Dim i As Long
Dim Libro As Workbook
Dim Directorio As String
Directorio = ActiveWorkbook.Path
On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Directorio
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
Set Libro = Workbooks.Open(Filename:=.FoundFiles(i))
Next i
End With
On Error GoTo 0
End Sub
Respuesta Responder a este mensaje
#3 Tux
07/10/2006 - 12:42 | Informe spam
Héctor Miguel escribió:
hola, chicos !

Carlos escribio en el mensaje ...
Como puedo hacer para abrir todos los archivos excel que haya en un directorio?



Tux escribio en el mensaje ...
Prueba con esta macro en un modulo nuevo, la situas en un libro en el directorio que quieras abrir:




Sub Abrir_archivos_en()
Dim Archivo As String
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets(1)
Archivo = Dir(.Range("a1") & "*.xls")
Do While Archivo <> ""
Workbooks.Open .Range("a1") & Archivo
Archivo = Dir()
Loop
End With
End Sub







De acuerdo Hector :-)

Pero esa macro solo funcionaria si tenemos los libros ubicados en otro
directorio no¿? y arroja un error 1004 al menos en mi caso :-)

¡Un SAludico!


¡Un SAludo!:-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
#4 KL
07/10/2006 - 13:06 | Informe spam
Hola Tux,

Mientras vuelve HM...

Pero esa macro solo funcionaria si tenemos los libros ubicados en otro directorio no¿?



A que te refieres caundo dices "en otro directorio"?

El siguiente codigo abre los archivos desde el directorio donde esta el archivo con el codigo:

Sub Abrir_archivos_en()
Dim Archivo As String
Application.ScreenUpdating = False
With ThisWorkbook
Archivo = Dir(.Path & "\" & "*.xls")
Do While Archivo <> ""
If Archivo <> .Name Then Workbooks.Open .Path & "\" & Archivo
Archivo = Dir()
Loop
End With
End Sub

y arroja un error 1004 al menos en mi caso :-)



En que linea y bajo que circunstancias te arroja el error? A mi me funciona muy bien ;-)

Respecto a FileSearch, que yo sepa, desde hace unos años practicamente se ha dejado de usar por razones mencionadas por HM.

Saludos,
KL
Respuesta Responder a este mensaje
#5 Tux
07/10/2006 - 14:20 | Informe spam
KL escribió:
Hola Tux,

Mientras vuelve HM...

Pero esa macro solo funcionaria si tenemos los libros ubicados en otro
directorio no¿?



A que te refieres caundo dices "en otro directorio"?

El siguiente codigo abre los archivos desde el directorio donde esta el
archivo con el codigo:

Sub Abrir_archivos_en()
Dim Archivo As String
Application.ScreenUpdating = False
With ThisWorkbook
Archivo = Dir(.Path & "\" & "*.xls")
Do While Archivo <> ""
If Archivo <> .Name Then Workbooks.Open .Path & "\" & Archivo
Archivo = Dir()
Loop
End With
End Sub

y arroja un error 1004 al menos en mi caso :-)



En que linea y bajo que circunstancias te arroja el error? A mi me
funciona muy bien ;-)

Respecto a FileSearch, que yo sepa, desde hace unos años practicamente
se ha dejado de usar por razones mencionadas por HM.



Uy dios por partes :-)

A ver si me se explicar bien que nunca ha sido mi fuerte :-)

Me refiero con lo de a otro directorio:

Por ejemplo yo he probado la macro de Hector en un archivo de la misma
carpeta donde tengo los demas libros a abrir, he puesto la ruta en mi caso

C:\Documents and Settings\usuario\Escritorio\Mi Carpeta\

y al ejecutarla me dice:

Error 1004
Metodo "open" del objeto Workbooks

Sin embargo si saco el archivo al escritorio por ejemplo y ejecuto la
macro pues que sin ningun problema amos funciona de categoria.

A eso me referia :-)

En cuanto a lo de FileSearch, la verdad hace años que di las macros
jeje! eso no lo sabia no he dicho nada al respecto :-S

oh es algo que no estoy haciendo bien o me da error :-S



¡Un SAludico!

¡Un SAludo!:-)

www.fermu.com
www.zorval.es
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida