Problemas al cerrar un libro

07/07/2003 - 15:33 por Adolfo | Informe spam
Hola gente,

Tengo creado una series de informes (diferentes libros)
que están
controlados por uno central. El problema es que si se
abren dos
informes a la vez, la velocidad de cálculo se resiente
bastante. Para
ello lo lógico es cerrar cada informe una vez se ha
dejado de
utilizar. Pero como todos conocemos a los usuarios
finales, y yo no me
fio mucho de ellos, necesitaba crear algo para que una
vez que cambian
de libro este se cerrase, para lo cual utilizo el evento
deactivate
del libro, pero algo estoy haciendo mal porque me genera
un error.
¿Alguna idea de que es lo que estoy haciendo mal? O
alguna idea de
como conseguir mi propósito?

La sentencia que utilizo es la siguiente

Private Sub Workbook_Deactivate()
ThisWorkbook.Close True
End Sub


Saludos,
Adolfo
 

Leer las respuestas

#1 Cotarelo63
07/07/2003 - 19:43 | Informe spam
Hola Adolfo.
Si el libro que ejerce el control está siempre abierto, y pretendes tener,
como máximo 2 libros activos (el de control y otro correspondiente a un sólo
informe), puedes colocar el siguiente código en el evento Open de todos los
libros de informes:

Private Sub Workbook_Open()
Dim LibrosAbiertos As Integer
LibrosAbiertos = Application.Workbooks.Count
If LibrosAbiertos > 2 Then 'el "> 2" es para que te no te cierre este
mismo libro
Workbooks(2).Close (True) 'el 2 significa el segundo libro en abrirse.
End If
End Sub

Espero te funcione, sino vuelve a preguntar
Saludos
Juan Carlos Pérez
Asturias-España

"Adolfo" escribió en el mensaje
news:0a4f01c3448c$61a30650$
Hola gente,

Tengo creado una series de informes (diferentes libros)
que están
controlados por uno central. El problema es que si se
abren dos
informes a la vez, la velocidad de cálculo se resiente
bastante. Para
ello lo lógico es cerrar cada informe una vez se ha
dejado de
utilizar. Pero como todos conocemos a los usuarios
finales, y yo no me
fio mucho de ellos, necesitaba crear algo para que una
vez que cambian
de libro este se cerrase, para lo cual utilizo el evento
deactivate
del libro, pero algo estoy haciendo mal porque me genera
un error.
¿Alguna idea de que es lo que estoy haciendo mal? O
alguna idea de
como conseguir mi propósito?

La sentencia que utilizo es la siguiente

Private Sub Workbook_Deactivate()
ThisWorkbook.Close True
End Sub


Saludos,
Adolfo

Preguntas similares