Abrir archivos desde macros

Expertos, buenas tardes.
Realizando una aplicación en VB a través de Microsoft Excel, me encuentro con un inconveniente: al alimentar mi archivo final con datos compilados desde varios archivos fuente (.xls) tengo el problema de que en al utilizarlo en diferentes ordenadores la ruta de acceso de dichos archivos fuente es diferente, es decir:
El código es el siguiente:
Private Sub Ingresar_Datos_Click()
'Abrir archivos de apoyo
Workbooks.Open ("C:\Mis Documentos\Base de Datos.xls")
(...)

Pero si lo ejecuto en otro equipo donde la ruta es "C:\Mis Documentos\Personal\Base de Datos.xls" la macro efectivamente genera un error.
Lo que necesito es que el equipo abra el archivo fuente desde la ruta en la cual se encuentra guardado el archivo desde el cual se ejecuta la macro, de ésta manera la macro no generaría error. Ahora, si existen opciones diferentes, creo que sería mejor.
Cualquier sugerencia será bien recibida, mil gracias.
PERO

1 respuesta

1
Respuesta de
Hola:
Lo mejor será en ese caso, que utilices la expresión: ThisWorkBook.Path, es decir la ruta del libro activo.
Workbooks.Open ThisWorkbook.Path & "\Base de Datos.xls"
Otra opción que dejo que investigues en la Ayuda, es utilizar la opción de llamar al cuadro de diálogo que te permite seleccionar el archivo a abrir.
milibro = Application.GetOpenFilename  'y luego lo abris con:
Workbooks.Open milibro
Saludos
Elsa
PD) Todos los ejemplos en manual 400MacrosPlus y Programacion_Excel:
http://es.geocities.com/lacibelesdepunilla
Hola Elsa, primero muchas gracias por tu atención. Esa es la respuesta que estaba buscando, también creo que es la mejor opción. Muchas gracias, te cuento que se me ha complicado mucho la entrega del proyecto por el tema del direccionamiento.
Mil gracias Elsa, que tengas feliz noche y mantengamos el contacto.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: