# Abrir dos libros con el mismo nombre



## rguez (Jul 7, 2004)

Mis saludos correligionarios de excel   

Como todos sabemos, en excel, si tenemos un libro abierto con un nombre determinado y tratamos de abrir otros (en otro directorio) que tenga el mismo nombre, excel nos indicarà que no puede hacerlo y que debes cerrar el primero.

La pregunta es directa: puedo inhibir esto ?
La idea la explico con un ejemplo:

Supongamos tenemos abierto el libro llamado "Libro 1"
entonces el usuario intenta abrir otro libro del mismo nombre
y automàticamente lo carga cambiàndole el nombre a "Libro 2".
La idea es que esto ocurra sin dublicar el archivo libro1.xls

Los archivos serìan de readonly (sòlo lectura).

Tengo la sensaciòn que algo podrìa hacerse con las funcionalidades
de sharing pero no las conozco bien   

¿Alguna idea?


----------



## Greg Truby (Jul 12, 2004)

Solo querría decirle que leí su pregunta y investigué unas ideas y no topé con éxito.  Probé usar un ClassModule con una copía del objeto Application (withEvents) y no encontré un evento que ejecuta antes de que Excel le da ese mensaje indicando que uno no puede abrir el segundo archivo debido al nombre.  Así que no veo como interrumpir el proceso y cambiar el nombre de uno de los archivos y seguir con el proceso de abrir tal archivo.  Si existe una solución, no la pude encontrar.

Buena suerte,


----------



## Juan Pablo González (Jul 12, 2004)

Depronto se podría modificar el comando "Abrir", usando Application.GetOpenFilename, y revisar si alguno de los libros abiertos tiene el mismo nombre, pero para abrir el "nuevo" libro tocaría hacer una copia o algo para que Excel los viera como libros diferentes.


----------



## Greg Truby (Jul 12, 2004)

Hola Juan Pablo,

Para asegurar que estoy entendiendole bien - Ud. está hablando de cambiar el comando de "abrir" en el Command Menu (y tal vez también en el Standard toolbar y tener que sobre-escribir Ctrl+O).  ¿A ésto refiere?

Saludos,


----------



## Juan Pablo González (Jul 12, 2004)

Si, a eso me refiero...


----------



## Hawk1979 (Aug 17, 2004)

I find this code:


Sub Crear_Excel()
Dim ObjExcel As Application
Dim ObjLibro As Workbook
Set ObjExcel = CreateObject("Excel.Application") 'Crea la Instancia de Excel
ObjExcel.Visible = True
'Set ObjLibro = ObjExcel.Workbooks.Add 'Crea un nuevo libro
Set ObjLibro = ObjExcel.Workbooks.Open("C:\Ruta\Archivo.Xls") 'Abre un archivo existente


'ObjLibro.Save 'o ObjLibro.SaveAs "C:\Ruta\Archivo.Xls"
'ObjLibro.Close 'Cierra el Libro
'ObjExcel.Quit 'Termina la Instancia de Excel
Set ObjExcel = Nothing 'Libera las variables
Set ObjLibro = Nothing
End Sub


----------



## RalphA (Aug 27, 2004)

No se si esto es lo que se desea, pero, por si es de utilidad...

Tengo dos archivos identicos, llamados Prueba.xls, uno en C:\ y el otro en C:\Test\
Abri Excel 97 dos veces.
En el primer Excel que abri, fui a C:\ y abri el archivo Prueba.xls
Fui al seundo Excel, fui a C:\Test\, y abri el otro archivo, Prueba.xls
Ahora, puedo cambiar lo que deseo en uno, y lo que quiera en el otro, y puedo hacer un "Save" para cada uno.

Ojala lo de ariba sirva...


----------

