como puedo detener este modulo inicial que lo abrio aprentando desde un boton "cancelar" que esta en el formulario. Algo asi como el exit sub, pero no se como indicar, que sea a ese modulo en particular.
|
|
#1 (permalink) |
![]() |
Hacer referencia a un modulo desde un Boton
como puedo detener este modulo inicial que lo abrio aprentando desde un boton "cancelar" que esta en el formulario. Algo asi como el exit sub, pero no se como indicar, que sea a ese modulo en particular.
__________________
-- Nunca te des por vencido, aún vencido -- Web |
|
|
|
|
|
#2 (permalink) |
![]() Fecha de Ingreso: septiembre-2007
Mensajes: 53
|
Re: Hacer referencia a un modulo desde un Boton
¿podrias explicarlo un poco mejor? es que creo que no te entiendo.
Pero igual lo que buscas es la orden Unload me con lo que se cierra el formulario. No sé, igual no es eso lo que buscas, pero es que no he entendido tu pregunta |
|
|
|
|
|
#3 (permalink) |
![]() Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 475
|
Re: Hacer referencia a un modulo desde un Boton
Estimado amigo, primero definamos algo.
Dentro de un modulo puedes tener varios procesos/rutinas/macros, por lo que creo entender que tienes una rutina que te abre un userform, cierto? Cuando hablas de un modulo inicial, te refieres a una macro auto_open??? En realidad deberia plantear mejor el dilema, y trata de usar los terminos que se ajusten a lo que tienes Abraham |
|
|
|
|
|
#4 (permalink) |
![]() |
Re: Hacer referencia a un modulo desde un Boton
Gracias colegas por las respuestas, tratare de explicarlo lo mejor que pueda, aunque mi lexico no es de programador :D
Tengo un macro auto open, que me abre un formulario a determinada hora, con la funcion load userform1, userform1.load, lo que quiero hacer es un boton "cancelar" en dicho formulario, que cierre la macro auto open, como el famoso "exit sub", gracias
__________________
-- Nunca te des por vencido, aún vencido -- Web |
|
|
|
|
|
#5 (permalink) |
![]() Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 475
|
Re: Hacer referencia a un modulo desde un Boton
Estimado, sigo sin entender :(
Si tu macro tiene a medio caminomun userform, pues, si este userform es modal, pues, te "cortara la macro", algo asi, prueba: Sub xxxx() MsgBox "Empieza" UserForm1.Show MsgBox "Final" End Sub Una opcione es esto Sub xxxxxxxxxxxxxxxxxxxxxxxx() MsgBox "Empieza" UserForm1.Show vbModeless MsgBox "Final" End Sub Asi no te "cortara la macro". En todo caso, eso de "cancelar", es que quieres que, una vez que salga el userform, y que la macro siga corriendo (como en mi ultimo ejemplo), quieres mediante un boton del userform, interrumpirla, tipo cuando presionamos CTRL+PAUSE? Y si es asi, cual es la logica de hacer eso?? Abraham |
|
|
|
|
|
#6 (permalink) |
![]() |
Re: Hacer referencia a un modulo desde un Boton
lo pense asi para que obre de esta manera:
al abrir el archivo excel, se empieza a correr el auto_open, con la funcion clock() que muestra la hora, luego a las 4 de la tarde, lo programe para que se ejecute una funcion, de envio de email automatico de mi base de datos, este procedimiento lleva tiempo hacerlo, por lo cual se abre un form, con una cuenta regresiva y un boton "cancelar" y la pregunta que aparece es.. se va a ejecutar este procedimiento en los proximos 10 segundos, desea cancelarlo?, la opcion cancelar se debe a que si se ejecuta esto, no me deja ingresar pedidos por los proximos 5 minutos hasta que esto termine, saludos
__________________
-- Nunca te des por vencido, aún vencido -- Web |
|
|
|
|
|
#7 (permalink) |
![]() Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 475
|
Re: Hacer referencia a un modulo desde un Boton
Supndre que en tu auto_open ¿? has usado un Application.OnTime que te detectara la hora para que arranque tu rutina (OJO, no es una funcion... excepto si hablamos de un UDF ;) ) de envio de correo electronico. Entonces, suponiendo que esa macro se llama "Proceso", tenemos que tener tambien una que se llamara, por ejemplo "Temporizador". Por lo tanto, en un modulo normal iria algo asi:
Public tiempototal As Double Public Const Tiempo As String = "00:00:10" Sub Temporizador() UserForm1.Show vbModeless tiempototal = Now + TimeValue(Tiempo) Application.OnTime EarliestTime:=tiempototal, _ Procedure:="Proceso", _ Schedule:=True End Sub Sub Proceso() Unload UserForm1 MsgBox "Abraham esta loco" 'Aqui tu proceso End Sub Ah, para eso, supondre que tu userform1, lo unico que tiene es un boton cancelar, y este codigo: Private Sub CommandButton1_Click() Application.OnTime EarliestTime:=tiempototal, _ Procedure:="Proceso", _ Schedule:=False Unload Userform1 MsgBox "Proceso canceldao" End Sub Obviamente, si no se presiona el boton del userfomr, pues, "aaranca" la macro "Proceso"; y si se presiona, antes de los 10 segundos, pues, obviaente no corre Abraham |
|
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|