Macros déclenchées par des événements

Cette section décrit comment assigner des scripts à une application, un document ou des événements de formulaire.

Vous pouvez assigner une macro à un événement logiciel afin qu'elle s'exécute automatiquement dès que cet événement se produit. Le tableau suivant présente les différents événements de document possibles et le moment auquel une macro assignée s'exécute.

Événement

Une macro assignée est exécutée...

routine

Démarrer l'application

...après le démarrage d'une application LibreOffice.

OnStartApp

Fermer l'application

...avant la fermeture d'une application LibreOffice.

OnCloseApp

Document créé

... nouveau document créé par Fichier - Nouveau ou par l'icône Nouveau. Notez que cet événement se déclenche également lorsque l'EDI Basic s'ouvre.

OnCreate

Nouveau document

...après la création d'un nouveau document à l'aide de Fichier - Nouveau ou de l'icône Nouveau.

OnNew

Chargement du document terminé

... avant l'ouverture d'un document à l'aide de Fichier - Ouvrir ou de l'icône Ouvrir.

OnLoadFinished

Ouvrir le document

...après l'ouverture d'un document à l'aide de Fichier - Ouvrir ou de l'icône Ouvrir.

OnLoad

Le document va être fermé

...avant la fermeture d'un document.

OnPrepareUnload

Document fermé

...après la fermeture d'un document. Notez que l'événement "Enregistrer le document" peut aussi survenir lorsque le document est enregistré, avant la fermeture.

OnUnload

-no UI-

OnLayoutFinished

Vue créée

Le document est affiché. Notez que cet événement survient également lorsqu'un document est dupliqué.

OnViewCreated

La vue va être fermée

La mise en page du document est supprimée.

OnPrepareViewClosing

Vue fermée

La mise en page du document est supprimée avant la fermeture du document.

OnViewClosed

Activer le document

...après affichage d'un document au premier plan.

OnFocus

Désactiver le document

...après affichage d'un autre document au premier plan.

OnUnfocus

Enregistrer le document

...avant l'enregistrement d'un document au moyen de Fichier - Enregistrer ou de l'icône Enregistrer, si le nom du document est déjà spécifié.

OnSaveAs

Le document a été enregistré

...après l'enregistrement d'un document au moyen de Fichier - Enregistrer ou de l'icône Enregistrer, si le nom du document est déjà spécifié.

OnSaveDone

L'enregistrement du document a échoué

Impossible d'enregistrer le document.

OnSaveFailed

Enregistrer le document sous

...avant l'enregistrement d'un document sous un nom spécifié (par Fichier - Enregistrer sous ou Fichier - Enregistrer, ou encore par l'icône Enregistrer, si le nom du document n'est pas encore spécifié).

OnSaveAs

Le document a été enregistré sous

...après l'enregistrement d'un document sous un nom spécifié (par Fichier - Enregistrer sous ou Fichier - Enregistrer, ou encore par l'icône Enregistrer, si le nom du document n'est pas encore spécifié).

OnSaveAsDone

'Enregistrer sous' a échoué

Impossible d'enregistrer le document.

OnSaveAsFailed

-no UI-

Lorsque l'emplacement du document sur le disque a changé, par exemple après l'action Fichier - Enregistrer sous.

OnStorageChanged

Stockage ou export de copie du document

... avant qu'un document soit enregistré par Fichier - Enregistrer une copie, Fichier - Exporter, Fichier - Exporter comme PDF ou par l'icône Enregistrer.

OnCopyTo

Une copie du document a été créée

... après qu'un document soit enregistré par Fichier - Enregistrer une copie, Fichier - Exporter, Fichier - Exporter comme PDF ou par l'icône Enregistrer.

OnCopyToDone

La création de la copie du document a échoué

Le document n'a pas pu être copié ou exporté.

OnCopyToFailed

Imprimer le document

...après fermeture de la boîte de dialogue Impression, mais avant l'impression proprement dite. Cet événement survient pour chaque exemplaire imprimé.

OnPrint

-no UI-

... après modification des paramètres de sécurité.

OnModeChanged

Le statut 'Modifié' a été changé

L'état Modifié d'un document a été changé.

OnModifyChanged

Titre du document modifié

Lorsque le titre du document a été actualisé.

OnTitleChanged

Sous-composant chargé

... après ouverture d'un formulaire de base de données.

OnSubComponentOpened

Sous-composant fermé

... après fermeture d'un formulaire de base de données.

OnSubComponentClosed

L'impression des lettres de formulaire a commencé

... avant impression de lettres de formulaire en utilisant les menus Fichier - Imprimer ou Outils - Assistant de publipostage.

OnMailMerge

L'impression des lettres de formulaire est terminée

... après impression de lettres de formulaire en utilisant les menus Fichier - Imprimer ou Outils - Assistant de publipostage.

OnMailMergeFinished

L'impression des lettres de formulaire a commencé

... avant impression des champs de formulaire.

OnFieldMerge

L'impression des champs de formulaire est terminée.

... après impression des champs de formulaire.

OnFieldMergeFinished

Modification du nombre de pages

Lorsque le nombre de pages change.

OnPageCountChanged


note

La plupart des événements sont relatifs aux document, excepté pour OnStartApp, OnCloseApp, OnCreate et OnLoadFinished qui surviennent au niveau de l'application. Les événements OnSubComponentOpened et OnSubComponentClosed sont envoyés par les formulaires de base de données.


tip

Les documents Writer déclenchent ces événements spécifique : OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished et OnPageCountChanged.


Assignation d'une macro à un événement

  1. Choisissez Outils - Personnaliser et cliquez sur l'onglet Événements.

  2. Déterminez si l'assignation doit s'appliquer globalement ou uniquement au document actif dans la liste de choix Enregistrer dans.

  3. Sélectionnez l'événement dans la liste Événement.

  4. Cliquez sur Macro et sélectionnez la macro devant être assignée à  l'événement sélectionné.

  5. Cliquez sur OK pour assigner une macro.

  6. Cliquez sur OK pour fermer la boîte de dialogue.

Suppression de l'assignation d'une macro à un événement

  1. Choisissez Outils - Personnaliser et cliquez sur l'onglet Événements.

  2. Déterminez si vous souhaitez supprimer une assignation globale ou une assignation qui s'applique uniquement au document actif en sélectionnant l'option dans la liste de choix Enregistrer dans.

  3. Sélectionnez l'événement contenant l'assignation à supprimer dans la liste Événement.

  4. Cliquez sur Supprimer.

  5. Cliquez sur OK pour fermer la boîte de dialogue.

En plus d'assigner des macros aux événements, on peut surveiller les événements déclenchés dans les documents LibreOffice.

Aidez-nous !