Contenu

# 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

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.

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.

Rubriques connexes

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