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.

рдШрдЯрдирд╛рдПрдБ

рдЖрдмрдВрдЯрд┐рдд рдореЕрдХреНрд░реЛ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛...

routine

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

...after a LibreOffice application is started.

OnStartApp

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдиреНрдж рдХрд░реЗрдВ

... LibreOffice рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдмрдиреНрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ.

OnCloseApp

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рд░реНрдорд┐рдд

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

OnCreate

рдкрд╛рда рджрд╕реНрддрд╛рд╡реЗрдЬрд╝

...after a new document is created with File - New or with the New icon.

OnNew

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд▓реЛрдбрд┐рдВрдЧ рд╡рд┐рдлрд▓

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

OnLoadFinished

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓реЗрдВ

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

OnLoad

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдВрдж рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

... рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдиреНрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ.

OnPrepareUnload

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдВрдж

...after a document was closed. Note that the "Save Document" event may also occur when the document is saved before closing.

OnUnload

-no UI-

OnLayoutFinished

рджреГрд╢реНрдп рдирд┐рд░реНрдорд┐рдд

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

OnViewCreated

рджреГрд╢реНрдп рдмрдВрдж рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

Document layout is getting removed.

OnPrepareViewClosing

рджреГрд╢реНрдп рдмрдВрдж

Document layout is cleared prior to the document closure.

OnViewClosed

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ

... рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд▓рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж.

OnFocus

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдХреНрд░рд┐рдп рдХрд░реЗрдВ

... рдЕрдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд▓рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣реИ.

OnUnfocus

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рд╣реЗрдЬреЗрдВ

...before a document is saved with File - Save or the Save icon, provided that a document name has already been specified.

OnSaveAs

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛

...after a document is saved with File - Save or the Save icon, provided that a document name has already been specified.

OnSaveDone

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рд╣реЗрдЬрдирд╛ рд╡рд┐рдлрд▓

Document could not be saved.

OnSaveFailed

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдРрд╕реЗ рд╕рд╣реЗрдЬреЗрдВ

...before a document is saved under a specified name (with File - Save As, or with File - Save or the Save icon, if a document name has not yet been specified).

OnSaveAs

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдРрд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛

... after a document was saved under a specified name (with File - Save As, or with File - Save or with the Save icon, if a document name has not yet been specified).

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

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдирдХрд╝рд▓ рдирд┐рд░реНрдпрд╛рдд рдпрд╛ рдЬрдорд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ

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

OnCopyTo

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирдХрд╝рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

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

OnCopyToDone

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдирдХрд╝рд▓ рд▓реЗрдирд╛ рд╡рд┐рдлрд▓

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 state of a document has changed.

OnModifyChanged

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╢реАрд░реНрд╖рдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд

When the document title gets updated.

OnTitleChanged

рдХреЛрдИ рдЙрдк рдШрдЯрдХ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ

...after a database form has been opened.

OnSubComponentOpened

рдХреЛрдИ рдЙрдк рдШрдЯрдХ рдмрдВрдж рдХрд░реЗрдВ

...after a database form has been closed.

OnSubComponentClosed

рдлрд╝реЙрд░реНрдо рдЕрдХреНрд╖рд░ рдХреА рдЫрдкрд╛рдИ рдЖрд░рдВрдн

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

OnMailMerge

рдлрд╝реЙрд░реНрдо рдЕрдХреНрд╖рд░ рдХреА рдЫрдкрд╛рдИ рд╕рдВрдкрдиреНрди

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

рдкреГрд╖реНрда рдЧрдгрдирд╛ рдмрджрд▓рдирд╛

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.


рдХрд┐рд╕реА рдШрдЯрдирд╛ рдкрд░ рдореЕрдХреНрд░реЛ рдЖрдмрдВрдЯрд┐рдд рдХрд░рдирд╛

  1. Choose Tools - Customize and click the Events tab.

  2. Select whether you want the assignment to be globally valid or just valid in the current document in the Save In listbox.

  3. Select the event from the Event list.

  4. Click Macro and select the macro to be assigned to the selected event.

  5. Click OK to assign the macro.

  6. Click OK to close the dialog.

рдХрд┐рд╕реА рдШрдЯрдирд╛ рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдореЕрдХреНрд░реЛ рдХреЛ рдорд┐рдЯрд╛рдирд╛

  1. Choose Tools - Customize and click the Events tab.

  2. Select whether you want to remove a global assignment or an assignment that is just valid in the current document by selecting the option in the Save In listbox.

  3. Select the event that contains the assignment to be removed from the Event list.

  4. Click Remove.

  5. Click OK to close the dialog.

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

Please support us!