Document Event-Driven Macros

This section describes how to assign scripts to application, document or form events.

You can automatically execute a macro when a specified software event occurs by assigning the desired macro to the event. The following table provides an overview of document events and at what point an assigned macro is executed.

Événement

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

routine

Start Application

...after a LibreOffice application is started.

OnStartApp

Close Application

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

OnCloseApp

Document created

...New document created with File - New or with the New icon. Note that this event also fires when Basic IDE opens.

OnCreate

New Document

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

OnNew

Document loading finished

...before a document is opened with File - Open or with the Open icon.

OnLoadFinished

Ouvrir le document

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

OnLoad

Document is going to be closed

...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

View created

Document is displayed. Note that this event also happens when a document is duplicated.

OnViewCreated

View is going to be closed

Document layout is getting removed.

OnPrepareViewClosing

View closed

Document layout is cleared prior to the document closure.

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

Saving of document failed

Document could not be saved.

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

'Save As' has failed

Document could not be saved.

OnSaveAsFailed

-no UI-

When the document disk location has changed, for example after a File - Save As... action.

OnStorageChanged

Storing or exporting copy of document

...before a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons.

OnCopyTo

Document copy has been created

...after a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons.

OnCopyToDone

Creating of document copy failed

Document could not be copied or exported.

OnCopyToFailed

Print document

...after the Print dialog is closed, but before the actual print process begins. This event occurs for each copy printed.

OnPrint

-no UI-

...after document security settings have changed.

OnModeChanged

'Modified' status was changed

Modified state of a document has changed.

OnModifyChanged

Document title changed

When the document title gets updated.

OnTitleChanged

Loaded a sub component

...after a database form has been opened.

OnSubComponentOpened

Closed a sub component

...after a database form has been closed.

OnSubComponentClosed

Printing of form letters started

...before printing form letters using File - Print or Tools - Mail Merge Wizard menus.

OnMailMerge

Printing of form letters finished

...after printing of form letters using File - Print or Tools - Mail Merge Wizard menus.

OnMailMergeFinished

Printing of form fields started

...before printing form fields.

OnFieldMerge

Printing of form fields finished

...after printing form fields.

OnFieldMergeFinished

Modification du nombre de pages

When the page count changes.

OnPageCountChanged


note

Most events relate to documents, except OnStartApp, OnCloseApp, OnCreate and OnLoadFinished that occur at application level. OnSubComponentOpened, and OnSubComponentClosed events are fired by database's forms.


tip

Writer documents are triggering those specific events: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished and 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.

In addition to assigning macros to events, one can monitor events triggered in LibreOffice documents.