Cerrar Excel a los 30 seg.

14/05/2007 - 13:07 por AgerGaston | Informe spam
Hola a todos.
Tengo una macro auto_open que realiza ciertas actualizaciones y necesito que
despues de unos 30 (segundos) o 40 (esto lo puede variar) cierre el Excel por
completo grabando los cambios, sin que me pregunte nada.

Se puede hacer ?
Me dicen como ?

Gracias y saludos

Preguntas similare

Leer las respuestas

#1 KL
14/05/2007 - 13:51 | Informe spam
Prueba lo siguiente:

Paso 1) en el modulo VBA de tu libro (ThisWorkbook) pon:

'modulo ThisWorkbook-
Private Sub Workbook_Open()
Application.OnTime Now + TimeSerial(0, 0, 5), "CerrarLibro"
End Sub
'modulo ThisWorkbook-

Paso 2) en un modulo estandar dentrode tu libro (p.ej. Modulo1) pon:

'modulo estandar-
Sub CerrarLibro()
ThisWorkbook.Close savechanges:=False
End Sub
'modulo estandar-

Paso 3) Guarda los cambios y cierra el libro (tambien, en vez de cerrar, puedes ejecutar el procedimiento Workbook_Open directamente
desde el editor VBA)

Paso 4) Vuelve a abrirlo habilitando los macros

Saludos,
KL


"AgerGaston" wrote in message news:
Hola a todos.
Tengo una macro auto_open que realiza ciertas actualizaciones y necesito que
despues de unos 30 (segundos) o 40 (esto lo puede variar) cierre el Excel por
completo grabando los cambios, sin que me pregunte nada.

Se puede hacer ?
Me dicen como ?

Gracias y saludos
Respuesta Responder a este mensaje
#2 AgerGaston
14/05/2007 - 15:20 | Informe spam
Hola KL.
Gracias por responder. Te comento que las instruccioens que me diste
funcionan OK.

Pero mi intencion es cerrar el Excel, ya que las instrucciones que me
pasaste cierran la hojas que tenga abierta. (no se si me explico).
Porque?
Ejecuto diferentes Excel con las tareas programadas (en diferentes horarios)
cuando se ejecuta por segunda ves me aparece ese msg que hay un archivo en
uso (personal.xls) y me pregunta si: solo lectura, notificar o cancelar. Y
queda a la espera de una respuesta y me arruina todas las tareas siguientes.

Bueno espero haber sido claro.

Gracias y saludos



"KL" escribió:

Prueba lo siguiente:

Paso 1) en el modulo VBA de tu libro (ThisWorkbook) pon:

'modulo ThisWorkbook-
Private Sub Workbook_Open()
Application.OnTime Now + TimeSerial(0, 0, 5), "CerrarLibro"
End Sub
'modulo ThisWorkbook-

Paso 2) en un modulo estandar dentrode tu libro (p.ej. Modulo1) pon:

'modulo estandar-
Sub CerrarLibro()
ThisWorkbook.Close savechanges:=False
End Sub
'modulo estandar-

Paso 3) Guarda los cambios y cierra el libro (tambien, en vez de cerrar, puedes ejecutar el procedimiento Workbook_Open directamente
desde el editor VBA)

Paso 4) Vuelve a abrirlo habilitando los macros

Saludos,
KL


"AgerGaston" wrote in message news:
> Hola a todos.
> Tengo una macro auto_open que realiza ciertas actualizaciones y necesito que
> despues de unos 30 (segundos) o 40 (esto lo puede variar) cierre el Excel por
> completo grabando los cambios, sin que me pregunte nada.
>
> Se puede hacer ?
> Me dicen como ?
>
> Gracias y saludos


Respuesta Responder a este mensaje
#3 Albino
17/05/2007 - 02:15 | Informe spam
Olá AgerGaston
Intenta colocar
ThisWorkbook.Close savechanges:=True
en substituicion de
ThisWorkbook.Close savechanges:=False
Un Saludo

"AgerGaston" escreveu na mensagem
news:
Hola KL.
Gracias por responder. Te comento que las instruccioens que me diste
funcionan OK.

Pero mi intencion es cerrar el Excel, ya que las instrucciones que me
pasaste cierran la hojas que tenga abierta. (no se si me explico).
Porque?
Ejecuto diferentes Excel con las tareas programadas (en diferentes
horarios)
cuando se ejecuta por segunda ves me aparece ese msg que hay un archivo
en
uso (personal.xls) y me pregunta si: solo lectura, notificar o cancelar. Y
queda a la espera de una respuesta y me arruina todas las tareas
siguientes.

Bueno espero haber sido claro.

Gracias y saludos



"KL" escribió:

Prueba lo siguiente:

Paso 1) en el modulo VBA de tu libro (ThisWorkbook) pon:

'modulo ThisWorkbook-
Private Sub Workbook_Open()
Application.OnTime Now + TimeSerial(0, 0, 5), "CerrarLibro"
End Sub
'modulo ThisWorkbook-

Paso 2) en un modulo estandar dentrode tu libro (p.ej. Modulo1) pon:

'modulo estandar-
Sub CerrarLibro()
ThisWorkbook.Close savechanges:=False
End Sub
'modulo estandar-

Paso 3) Guarda los cambios y cierra el libro (tambien, en vez de cerrar,
puedes ejecutar el procedimiento Workbook_Open directamente
desde el editor VBA)

Paso 4) Vuelve a abrirlo habilitando los macros

Saludos,
KL


"AgerGaston" wrote in message
news:
> Hola a todos.
> Tengo una macro auto_open que realiza ciertas actualizaciones y
> necesito que
> despues de unos 30 (segundos) o 40 (esto lo puede variar) cierre el
> Excel por
> completo grabando los cambios, sin que me pregunte nada.
>
> Se puede hacer ?
> Me dicen como ?
>
> Gracias y saludos


Respuesta Responder a este mensaje
#4 Héctor Miguel
17/05/2007 - 07:08 | Informe spam
hola, ?

__ consulta 1 __
... una macro auto_open... realiza... actualizaciones y necesito que
despues de unos 30 (segundos) o 40 (esto lo puede variar)
cierre el Excel por completo grabando los cambios, sin que me pregunte nada.



__ ampliacion de datos __
Ejecuto diferentes Excel con las tareas programadas (en diferentes horarios)
cuando se ejecuta por segunda ves me aparece ese msg que hay un archivo en uso (personal.xls)
y me pregunta si: solo lectura, notificar o cancelar.
Y queda a la espera de una respuesta y me arruina todas las tareas siguientes.



1) si quieres terminar con la aplicacion en cuanto se terminen las 'ciertas' acciones
agrega estas dos instruccines JUSTO ANTES del 'End Sub' de tu macro 'Auto_Ope()'

Application.Quit
ThisWorkbook.Close True

2) si queres que se termina despues de un lapso de tiempo posterior a la realizacion de las 'ciertas' acciones...
sigue la sugerencia de KL de 'llamar' a una macro en un modulo estandar/general/normal/...
solo asegurate de usar PRIMERO el 'Application.Quit' Y DESPUES el 'ThisWorkbook.close False'

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#5 AgerGaston
17/05/2007 - 13:47 | Informe spam
Gracias por responder.
Voy a probar las opciones que me han mandado y luego les comento.

Aprovecho para decirles que como un solucion "transitoria" puse el archivo
"personal.xls" como "compartido" y de esta manera solucione el problema de la
interrupcion que anteriormente les habia comentado.

Anexo:
Es mucho pedir que por ejemplo: si al archivo le puse que espere 40 segundos
antes de que cierre, me aparezca en pantalla un cuadrito con el tiempo
restante mas un boton de cancelar, llegado el caso que necesite que se
detenga ???

NO se si se puede o tengo mucha imaginacion.

Gracias y saludos



"Héctor Miguel" escribió:

hola, ?

__ consulta 1 __
> ... una macro auto_open... realiza... actualizaciones y necesito que
> despues de unos 30 (segundos) o 40 (esto lo puede variar)
> cierre el Excel por completo grabando los cambios, sin que me pregunte nada.

__ ampliacion de datos __
> Ejecuto diferentes Excel con las tareas programadas (en diferentes horarios)
> cuando se ejecuta por segunda ves me aparece ese msg que hay un archivo en uso (personal.xls)
> y me pregunta si: solo lectura, notificar o cancelar.
> Y queda a la espera de una respuesta y me arruina todas las tareas siguientes.

1) si quieres terminar con la aplicacion en cuanto se terminen las 'ciertas' acciones
agrega estas dos instruccines JUSTO ANTES del 'End Sub' de tu macro 'Auto_Ope()'

Application.Quit
ThisWorkbook.Close True

2) si queres que se termina despues de un lapso de tiempo posterior a la realizacion de las 'ciertas' acciones...
sigue la sugerencia de KL de 'llamar' a una macro en un modulo estandar/general/normal/...
solo asegurate de usar PRIMERO el 'Application.Quit' Y DESPUES el 'ThisWorkbook.close False'

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



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida