# Abrir archivo sin actualizar vinculos



## Samuel Cano

Saludos Juan Pablo y foro...

Mi caso:

La macro en el archivo 1 abre el archivo 2 (para seleccionar una hoja en particular y copiar un rango, a otra específica en el archivo 1)

Mi problema es que ese archivo 2 tiene vinculos con otros libros y al abrirlo, el cuadro de dialogo "desea actualizar vinculos?" provoca error en la ejecución del resto de la macro (subíndice fuera de intervalo).

Por ahora lo tengo en dos módulos y sigo en su construcción (todavía no acabo).

La pregunta Juan Pablo, es: cómo podría abrir el archivo 2 (desde la macro en 1) obviando el cuadro de diálogo "actualizar vinculos", para realizar la ejecución en un paso.

Gracias por tu atención.


----------



## galileogali

Extractado de la AYUDA DE VBA

Metodo OPEN
expresión.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad, OpenConflictDocument)

expresión   requerida. Expresión que devuelve el objeto Workbooks.

FileName  String requerida.  Nombre de archivo del libro que se va a abrir.

*UpdateLinks * Variant opcional. Especifica cómo se actualizan los vínculos del archivo. Si se omite este argumento, se preguntará al usuario. De lo contrario, el argumento tendrá uno de los siguientes valores:

Valor Significado 
*0 No actualiza vínculos. *
1Actualiza vínculos externos, pero no vínculos remotos. 
2 Actualiza vínculos remotos, pero no vínculos externos. 
3 Actualiza vínculos remotos y vínculos externos. 


GALILEOGALI


----------



## Samuel Cano

*Saludos galileogali, gracias por contestar...*

Mira usé el siguiente código:


'*** inicio código ***

vNombreArchivo = Application.GetOpenFilename("Archivos de Microsoft Excel,*.xls")

If vNombreArchivo = False Then Exit Sub

Workbooks.Open vNombreArchivo

*** fin código ***


Entonces busqué en la ayuda las opciones para "Application.GetOpenFilename" y encontré esto:

"Método GetOpenFilename
Presenta el cuadro de diálogo estándar Abrir y obtiene un nombre de archivo que selecciona el usuario sin que en realidad se abra ningún archivo.

expresión.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)...(continua)"... es decir, nada de lo que necesitaba...



Entonces me pasé en la ayuda a "Workbooks.Open" y "Open" y solo conseguí:

"Evento Open
Se produce al abrir el libro.

Private Sub Workbook_Open()..."...sigue con un ejemplo...lo que tampoco es lo que buscaba...


Fuen entonces que pasé a consultar al foro... y bueno, tu mensaje me va a ser de mucha utilidad (terminando de postear voy a aplicarlo), solo me queda la inquietud de porqué si hice la búsqueda en la ayuda de excel... cómo es que no llegué al mismo resultado que tu?...

por favor si pudieras orientarme también cómo hacer las búsquedas en la ayuda, o más concreto, cómo hiciste para encontrar la informacion que amablemente me compartes?...

Saludos y quedo muy agradecido por el apoyo.

-Samuel


----------



## Greg Truby

Hola Samuel,

¡Que divertido!  Parece el sistema de ayuda en inglés sufre el mismo problema.  Si uso el explorador de objetos (F2) y selecciono «workbooks» en la ventanilla de _clases_ y selecciono «open» en la ventanilla de _miembros_ y impresiono F1, sí me da igual que a usted -- es mensaje sobre el *evento* en vez de sobre el *método* a pesar de que el símbolo allí es el bloquecito verde y no el rayito de relámpago.  Es decir que le dirige mal. 

Pero si selecciono «workbooks» nada más y presiono F1, voy a ayuda sobre la colección de cuadernos. De allí puedo hacer un cliq sobre la lista de métodos y escoger «open method» y sí me lleve donde estaba Gali.

A veces es solamente una cuestion de experiencia y suerte.  :wink:


----------



## Samuel Cano

*Saludos Greg...*

Ya también tomé nota, gracias.

Hasta pronto.

- Samuel.


----------



## Samuel Cano

P.D. Para el registro, la sintaxis que funcionó fué:

Workbooks.Open Filename:=vNombreArchivo, UpdateLinks:=0


----------



## Greg Truby

Para alguien más quien topa con esta con un problema semejante, note que Samuel nos dijo





> el cuadro de dialogo "desea actualizar vinculos?" provoca error en la ejecución del resto de la macro (subíndice fuera de intervalo).



Hay una propiedad de Excel _AskToUpdateLinks_ pero note que poner esto como FALSO no para la actualización de vínculos, sino que *no pregunta;* sí los actualiza; solamente que no pregunta al usuario antes de realizar la actualización.


----------



## Samuel Cano

*Saludos nuevamente Greg ...*

Saludos nuevamente Greg ...

esta información que agregas también me será muy útil, gracias.

Seguimos onliiineee...


----------

