Fichas de Referencia L.O. Basic

Ficha nº 5.
Sucesos

Nivel: Intermedio

Créditos

Autor: Jean-François Nifenecker – jean-francois.nifenecker@laposte.net

Traducción y adaptación: B. Antonio Fernández

Esta ficha de referencia está bajo licencia de CreativeCommons BY-SA v3 (fr) o posterior.: https://creativecommons.org/licenses/by-sa/3.0/fr/

img_FB26205-000

Este documento es una adaptación del documento original, en Francés, que se puede obtener en la Wiki de publicaciones de LibreOffice.

Versión

Fecha

Comentarios

2.0

06/04/2021

Révision ; modif. mise en forme.

2.0_ES

15/09/2026

Traducción y cambio de formato para esta versión

Somos como enanos a hombros de gigantes. Si alcanzamos a ver más cosas y más lejanas que ellos, no es por la perspicacia de nuestra visión, ni por nuestra grandeza, sino porque son ellos quienes nos elevan. (atribuido a Bernard de Chartres )

Los sucesos

Los objetos manipulados por LibreOffice reconocen diversos tipos de suceso, que se desencadenan en diferentes situaciones. Puede interceptar estos sucesos para darles el tratamiento deseado.

Objetos contenedores de sucesos

La aplicación

Objetos del documento

 

Documentos

Objetos OLE

Texto Automático

Formularios y sus controles

Imágenes

Zonas de Imágenes

Diálogos Basic y sus controles

Cuadros

Hiperenlaces

Asociar un suceso a una macro

Principio

  1. Cree la macro que desee ejecutar según el modelo:

Sub NombreDeLaMacro()
End Sub

La subrutina puede contener parámetros. vea más abajo.

  1. Seleccione el objeto  contenedor del suceso que quiera interceptar.

  2. Acceda a su configuración (método variable en función del objeto).

  3. Elija el suceso que quiera interceptar (vea la lista en este guía de referencia).

  4. Seleccione la macro para ejecutar con el desencadenante del suceso.

Obtener información del elemento desencadenante

El procedimiento de ejecución puede consultar el parámetro recibido para obtener informaciones complementarias sobre el suceso:

Sub RespuestaSuceso(ByRef Event As Object)
End Sub

La estructura y las propiedades del objeto Event dependen del tipo de suceso que desencadena la llamada al procedimiento (información más adelante).

Usos estándar para acceder a los controles de diálogo Basic:

Para acceder a

Consultar

(Objeto) control que hace la llamada

Event.Source

(Objeto) modelo del control

Event.Source.Model

(Objeto) diálogo propietario del control

Event.Source.Context

Categorías y propiedades de los sucesos

Hay cuatro categorías de sucesos de los diálogos (columna Cat en última tabla):

Ratón

M

0,00 €

Teclado

K

Desencadenados por las secuencias de teclas del teclado

Foco

F

Ejecutados cuando el foco cambia de un control a otro.

Específicos

S

Relacionados con ciertos controles.

Sucesos asociados al ratón

Las coordenadas  se miden en píxeles a partir del ángulo superior izquierdo del control.

vea la estructura com.sun.star.awt.MouseEvent.

Buttons (short)

El botón pulsado (com.sun.star.awt.MouseButton).

X (long) , Y (long)

Coordenadas X e Y respectivas  del cursor del ratón

ClickCount (long)

Número de clics asociados a un suceso del ratón.  Si LibreOffice puede responder lo bastante rápido, ClickCount es igual a 1 para un doble-clic, (sólo un suceso).

PopupTrigger (boolean)

True si hay menú contextual

Constantes definidas en  com.sun.star.awt.MouseButton.

 LEFT

 Botón izquierdo.

 RIGHT

 Botón derecho.

 MIDDLE

 Botón central.

Sucesos asociados al Teclado

Los sucesos del teclado se asocian a pulsaciones lógicas y no a pulsaciones físicas.

Los objetos Event asociados al Teclado tienen las siguientes propiedades:

KeyCode (short)

El código de la tecla pulsada (com.sun.star.awt.Key.XXX).
Las teclas muertas  Shift,Ctrl o Alt no modifican el código.

KeyChar (String)

El carácter elegido (teniendo en cuenta las teclas modificadoras).

KeyFunc (Integer)

Funcionalidad de la tecla según la constante en
com.sun.star.awt.KeyFunction.XXXX.

Modifiers (Integer)

Indica si se ha pulsado una tecla muerta ( vea las constantes
com.sun.star.awt.KeyModifier.XXX).

Resumen de las constantes definidas en com.sun.star.awt.Key.XXX

NUM0 à NUM9

Cifras

RETURN

Enter

POINT

.

A à Z

Letras

ESCAPE

Esc

COMMA

,

F1 à F26

T. de función

TAB

Tab

LESS

<

UP

BACKSPACE

Back

GREATER

>

DOWN

SPACE

Space

EQUAL

=

LEFT

INSERT

Ins

CUT

Ctrl+X

RIGHT

DELETE

Del

COPY

Ctrl+C

HOME

Home

ADD

+

PASTE

Ctrl+V

END

End

SUBTRACT

-

HELP

F1

PAGE UP

RePág

MULTIPLY

*

MENU

Windows

PAGEDOWN

AvPág

DIVIDE

/

CONTEXTMENU

Constantes com.sun.star.awt.KeyFunc.XXX

DONTKNOW

Desconocida

CUT

Cortar

CLOSE

Cerrar

NEW

Nuevo

COPY

Copiar

QUIT

Salir

OPEN

Abrir

PASTE

Pegar

PROPERTIES

Propiedades

SAVE

Guardar

UNDO

Deshacer

FIND

Búscar

SAVEAS

Guardar como

REDO

Rehacer

FINDBACKWARD

Buscar (hacia atrás)

PRINT

Imprimir

REPEAT

Repetir

FRONT

Primer plano

Constantes com.sun.star.awt.KeyModifier.XXX   (acumulables con + o  And)

MOD1

Ctrl

MOD2

Alt

SHIFT

Shift

Sucesos asociados al Foco

Los objetos Event asociados al foco tienen las siguientes propiedades:

FocusFlags (short)

La razón del cambio de foco.  (Vea constantes

com.sun.star.awt.FocusChangeReason).

NextFocus (Object)

El objeto que recibe el foco (sólo para «al perder foco»).

Temporary (Boolean)

El foco se ha perdido temporalmente.

Constantes definidas en com.sun.star.awt.FocusChangeReason

TAB

Tabulador pulsado.

BACKWARD

Control anterior.

CURSOR

Una tecla de dirección pulsada.

AROUND

Del último al 1er control (adelante o del 1º al último (atrás).

MNEMONIC

Una tecla de atajo pulsada.

UNIQUEMNEMONIC

Una tecla de atajo a un sólo control pulsada.

FORWARD

Control siguiente.

 

Sucesos específicos asociados a ciertos controles

Algunos sucesos se pueden desencadenar mediante una acción en determinados controles (ej. Botones de opción). No se ejecuta ninguna acción para determinar si el estado del control se ha modificado realmente. Para evitar este tipo de « suceso ciego », guarde el valor antiguo del control en una variable global y verifique si el valor se modifica en el momento que se produzca dicho suceso.

Propiedades del suceso Item Status Changed:

Selected (long)

La entrada esta seleccionada.

Highlighted (long)

La entrada está realzada

ItemId (long)

El identificador de la entrada

Sucesos asociados a los documentos

Propiedades del suceso entrante (vea apartado siguiente):

EventName (string)

El nombre del suceso.

Source (object)

El documento que causa el suceso.

ViewController (object)

El controlador de visualización en cuestión  si no hay: Null.

Supplement (variant)

Las informaciones complementarias,  si no hay: Empty.

Sucesos asociados al documento o a la aplicación

Herramientas > Personalizar > Eventos

Sucesos disponibles

Suceso

La macro asignada se ejecuta …

Iniciar la aplicación

Después del inicio de la aplicación.

Cerrar la aplicación

Antes de cerrar la aplicación.

Documento creado

Después de Archivo > Nuevo.

Documento nuevo

Después de creacción de un documento a partir de una plantilla

La carga del doc. ha finalizado

Después de recargar un documento.

Abrir documento

Después de Archivo > Abrir.

Se cerrará el documento

Antes de cerrar un documento.

Documento cerrado

Después de cerrar un documento.

  • El suceso Documento cerrado puede también
    desencadenarse cuando el documento se guarda
    (con nombre ya existente).

Vista creada

Después de la creación de la vista del documento.

La vista se cerrará

Antes de cerrar la vista del documento.

Vista cerrada

Antes del cierre de la vista del documento.

Activar documento

Después de que el documento ocupe el  1er plano.

Desactivar documento

Después que otro documento ocupe el 1er plano

Guardar documento

Antes de Archivo > Guardar, si el nombre de documento ya existe

  • vea Documento cerrado.

El documento se ha guardado

Después de Archivo > Guardar, si el nombre del documento ya existe.

Falló el guardado del documento

Después de un error al guardar el documento.

Guardar documento como

Antes de Archivo  Guardar como o Archivo > Guardar

si el nombre de documento no existe.

El documento se ha guardado como

Después de Archivo > Guardar como, o Archivo
> guardar
si el nombre de documento no existe.

Falló « Guardar como »

Después de un error al Guardar como.

Almacenar o exportar copia del documento.

 

Se creó una copia del documento.

Después de la creación de la copia.

Falló la creación de una copia del d.

Después de un error al crear la copia.

Impresión de documento

Después del cierre del diálogo Imprimir, pero antes
de la impresión propiamente dicha.

Se ha cambiado el estado «modificado»

Después de que el estado « modificado » haya
cambiado.

Título del documento cambiado

Después de la modificación del título del documento.

Inició la impresión de las cartas modelo

Después del cierre del diálogo imprimir pero antes
de la impresión propiamente dicha.

Finalizó la impresión de las cartas modelo

Después de la impresión de cartas modelo.

Inició la fusión de campos en el formulario

 

Finalizó la fusión de campos en el formulario

 

Modificación del contador de paginas

En el momento del cambio del número de páginas

Secuencias de sucesos en el documento

Apertura de un documento existente (cualquier método)

Abrir el documento > Vista creada

Cierre del documento activo (cualquier método)

La vista se cerrará > Se cerrará el documento > Vista cerrada > Documento cerrado

Creacción de un documento a partir de una plantilla

Nuevo documento > Vista creada

Interacciones con los objetos del documento

Propiedades del objeto >  pestaña Macro, botón Macro, botón Sucesos, etc.

Suceso

Desencadenante

Objeto. OLE

Imágen

Cuadro

Texto autom.

Mapa-Imag.

Hipervínculo

Clic sobre el objeto

Objeto seleccionado.

 

 

 

Ratón sobre el objeto

El ratón se desplaza sobre el objeto.

 

Activar Hipervínculo

El hipervínculo asignado se activa.

 

 

El ratón sale del objeto

El puntero del ratón se desplaza fuera del objeto.

 

Carga de imagen finalizada

La carga de imágenes ha finalizado.

 

 

 

 

 

Carga de imagen interrumpida

El usuario ha interrumpido a carga de
imágenes al cargar la  página (por ej.).

 

 

 

 

 

Error al cargar la imagen

La carga de imágenes ha fallado
(ej.  no se encuentra la imagen).

 

 

 

 

 

Escritura de caracteres alfanuméricos

Escritura de un texto con el teclado.

 

 

 

 

 

Escritura de caracteres No alfanuméricos

Escritura de caracteres no imprimibles  (tabulación, entrar, etc.).

 

 

 

 

 

Modificación del tamaño de un cuadro

El tamaño de un cuadro se ha modificado mediante el ratón.

 

 

 

 

 

Desplazamiento de un cuadro

Se ha desplazado un cuadro mediante el ratón.

 

 

 

 

 

Antes de la inserción de Texto automático

Antes de insertar un bloque de texto automático.

 

 

 

 

 

Después de la inserción de Texto automático

Después de insertar un bloque de texto automático.

 

 

 

 

 

Sucesos asociados a las hojas de Calc

Editar  > Hoja > Sucesos (o clic derecho en la pestaña y despues Sucesos de hoja)

Suceso

La macro asignada se ejecuta ...

Activar documento

Después de la presentación del documento en 1er plano.

Desactivar documento

Después de la presentación de otro documento en 1er plano.

Selección cambiada

Después de cambiar la selección.

Doble-clic

Después de un doble clic en una celda.

Clic derecho

Después de un clic derecho en un rango.

Fórmulas calculadas

Después del recálculo de las fórmulas

Contenido cambiado

Después de la modificación del contenido de una celda

Sucesos asociados a un formulario

Propiedades del control, pestaña Sucesos

Sucesos estandard que no pertenecen a una base de datos

Cat

Suceso

La macro asignada se ejecuta…

F

Recepción de foco

Cuando un control recibe el foco

F

Al perder el foco

Cuando un control pierde el foco

K

Tecla pulsada

Cuando el usuario pulsa una tecla mientras el control tiene el foco

K

Después de haber pulsado una tecla

Cuando el usuario suelta una tecla mientras el control tiene el foco

M

Ratón dentro

Cuando el ratón se encuentra en el interior del control

M

Mover el ratón por medio del teclado

Cuando el ratón se desplaza a la vez que se pulsa una tecla. Por
ejemplo durante  una acción de arrastrar - soltar (otra tecla
determina el modo de mover o copiar).

M

Movimiento del ratón

Cuando el ratón se desplaza sobre el control

M

Botón del ratón pulsado

Si se pulsa el botón del ratón mientras que el puntero del ratón se
encuentra sobre el control

M

Botón del ratón soltado

Si se suelta el botón del ratón mientras que el puntero del ratón se
encuentra sobre el control.

M

Ratón fuera

Cuando el ratón se encuentra fuera del control

Sucesos de los controles de cuadros de diálogo

Además de los sucesos estándar indicados, algunos controles ofrecen:

Cat

Suceso

La macro asignada se ejecuta…

Ejecutar una acción

Iniciar una acción. Por ej. si el formulario contiene un botón
Enviar, el proceso de envío representa la acción

  • como opción a la respuesta de clic sobre el control.

KM

Estado modificado

Cuando se ha modificado el estado del control

M

Valor de desplazamiento o incremento /decremento.

Como respuesta a la acción sobre una barra de
desplazamiento o un «spinbutton».

Sucesos asociados a una base de datos

Suceso

La macro asignada se ejecuta...

Después de agregar un registro

Después de la inclusión del registro activo.

Después de la modificación del registro

Inmediatamente después de la modificación del indicador del registo activo.

Antes de la modificación del registro

Antes de que el registo activo sea modificado, permite solicitar una confirmación.

Antes del envío

Antes de que los datos del formulario se envíen.

Antes de actualizar

Antes de que el contenido del control modificado por el usuario
escriba en la base de datos, Por ejemplo para impedir que esta
acción envíe el valor FALSE.

Después de actualizar

Después de que el control modificado por el usuario escriba en la
base de datos.

Antes de reestablecer

Antes de reestablecer un formulario, por ej. para impedir una acción de reenvío FALSE.

Un formulario se reestablece cuando alguna de las siguientes condiciones se cumple:

El usuario pulsa un botón (HTML) definido como botón Reestablecer.

Un registro nuevo y vacío se crea en un formulario asociado a una
fuente de base de datos. Por ejemplo en el último registro, tiene que
pulsar sobre el botón  Registro siguiente.

Después de restablecer

Después de reestablecer el formulario.

Antes del cambio de un registro

Antes de la modificación del indicador del registro activo. Por
ejemplo, para impedir que esta acción envie un valor FALSE.

Antes de la descarga

Antes de que el formulario se descargue, (se separe de su fuente de base de datos).

Antes de la recarga

Antes de la recarga del formulario. (El contenido de la base de datos aún no se ha actualizado).

Confirmar eliminación

Cuando los datos se han eliminado del formulario, por ejemplo para solicitar una confirmación.

Al cargar

Después de la carga del formulario.

Al descargar

Inmediatamente después de la descarga del formulario (se separe de su fuente de base de datos).

Al recargar

Inmediatamente después de la recarga del formulario. (Ya se ha
actualizado el contenido de los datos).

Rellenar los campos (parámetros)

Cuando el formulario que ha de ser cargado contiene parámetros
que tengan que ser rellenados (SQL), si un parámetro no se puede
rellenar, se llama a este suceso.

Por ejemplo, la fuente de datos puede ser:
SELECT * FROM address WHERE name=:name
siendo:name un parámetro a rellenar en la carga del form.
el parámetro se rellena automáticamente en la medida de lo posible
a partir de un formulario de nivel superior.

Ha ocurrido un error

Si ocurre un error durante el acceso a la base de datos.

  • Se aplica a los formularios, cuadros de lista y cuadros combinados.

Contenido