domingo, 12 de febrero de 2012

Eventos no asociados a Objetos

Cada objeto lleva asociados unos determinados eventos que le pueden ocurrir, por ejemplo a un botón o una hoja,  puede ocurrir que al activar la hoja  queramos que se produzca una determinada acción, este evento seria  Private Sub Worksheet_Activate(), al cual nosotros le añadiremos el código de lo que queremos que haga la aplicación cuando se active la hoja.

Los dos eventos que vamos a comentar no están asociados a un objeto. En su lugar se accede a ellos mediante métodos del objeto de Application.

Evento OnTime:

El evento OnTime  tiene lugar en una hora concreta en el futuro, lo que podemos utilizar para lograr la ejecución automática de macros de Excel, por ejemplo.

La siguiente instrucción ejecuta el procedimiento de Alarma a las 07:00 a.m. del próximo 14 de Febrero (día de los enamorados).

Sub Ejec_Alarma()
Application.OnTime DateSerial(2012, 2, 14) + TimeValue("07:00:00"), "Msg_Alarma"
End Sub

Mensaje de alarma..

Sub Msg_Alarma()
Dim n As Integer
For n = 1 To 20
Beep
Next n
MsgBox "Hoy es el día de los enamorados..", vbInformation, "ALARMA"
End Sub

Para cancelar el evento OnTime utilizaremos la siguiente instrucción.

Application.OnTime DateSerial (2012, 2, 14) + _
TimeValue("07:00:00"), "Msg_Alarma", , False

Evento OnKey:

El evento OnKey ejecuta un procedimiento específico cuando una tecla o combinación de teclas se pulsan.
A continuación os relaciono una matriz con los códigos que representa cada tecla en el teclado.


Clave
Código
RETROCESO
{RETROCESO} o {BS}
BREAK
{PAUSA}
CAPS LOCK
{} BLOQ MAYÚS
CLEAR
{CLEAR}
SUPR o DEL
{DELETE} o {DEL}
FLECHA ABAJO
{DOWN}
FIN
{END}
ENTER (teclado numérico)
{ENTER}
ENTER
~ (tilde)
CES
Salir} o {ESC}
AYUDA
{AYUDA}
INICIO
{HOME}
INS
{INSERT}
FLECHA A LA IZQUIERDA
{Left}
BLOQ NUM
{BLOQ NUM}
PÁG
{} PGDN
PÁG
{} PGUP
REGRESAR
{Return}
FLECHA A LA DERECHA
{Derecha}
SCROLL LOCK
{} ScrollLock
TAB
{TAB}
FLECHA ARRIBA
{UP}
F1 a F15
{F1} a través {F15}

También se pueden especificar en combinación con las teclas SHIFT , CTRL y ALT.

Para combinar con las teclas
Precede el código clave por
SHIFT
+ (signo más)
CTRL
^ (acento circunflejo)
ALT
% (signo de porcentaje)

Pegue las siguientes instrucciones en un módulo:

Sub DemoOnKey()
      Application.OnKey "{TAB}", "Message"
End Sub

Sub Message()
    MsgBox "Hola"
End Sub

Vemos que al pulsar el tabulador se ejecuta el mensaje.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.