Aide LibreOffice 25.2
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 , , ou par l'icône . | OnCopyTo | 
| Une copie du document a été créée | ... après qu'un document soit enregistré par , , ou par l'icône . | 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.
Choisissez Outils - Personnaliser et cliquez sur l'onglet Événements.
Déterminez si l'assignation doit s'appliquer globalement ou uniquement au document actif dans la liste de choix Enregistrer dans.
Sélectionnez l'événement dans la liste Événement.
Cliquez sur Macro et sélectionnez la macro devant être assignée à l'événement sélectionné.
Cliquez sur OK pour assigner une macro.
Cliquez sur OK pour fermer la boîte de dialogue.
Choisissez Outils - Personnaliser et cliquez sur l'onglet Événements.
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.
Sélectionnez l'événement contenant l'assignation à supprimer dans la liste Événement.
Cliquez sur Supprimer.
Cliquez sur OK pour fermer la boîte de dialogue.