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

āύāϤ⧁āύ āύāĻĨāĻŋ

...āĻĢāĻžāχāϞ - āύāϤ⧁āύ āĻ…āĻĨāĻŦāĻž āύāϤ⧁āύ āφāχāĻ•āύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āύāĻĨāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻĒāϰāĨ¤

OnNew

āύāĻĨāĻŋ āϞ⧋āĻĄ āĻ•āϰāĻž āĻļ⧇āώ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇

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

OnLoadFinished

āύāĻĨāĻŋ āĻ–ā§‹āϞāĻž āĻšāĻŦ⧇

...āĻĢāĻžāχāϞ - ‌‌‌‌‌‌‌‌‌‌‌āϖ⧁āϞ⧁āύ āĻ…āĻĨāĻŦāĻž āϖ⧁āϞ⧁āύ āφāχāĻ•āύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ ‌‌‌‌‌‌‌‌āĻ–ā§‹āϞāĻžāϰ āĻĒāϰāĨ¤

OnLoad

āύāĻĨāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇

...āύāĻĨāĻŋāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻšāĻ“ā§ŸāĻžāϰ āφāϗ⧇āĨ¤

OnPrepareUnload

āύāĻĨāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇

...āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āĻŦāĻ¨ā§āϧ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ⧇āĨ¤ āύ⧋āϟ āĻ•āϰ⧁āύ āϝ⧇, āύāĻĨāĻŋāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻžāϰ āĻĒā§‚āĻ°ā§āĻŦ⧇āχ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϞ⧇ "āύāĻĨāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ" āχāϭ⧇āĻ¨ā§āϟāϟāĻŋāĻ“ āϏāĻ‚āϘāϟāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

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

āύāĻĨāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāĻŦ⧇

...āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āĻĢāĻžāχāϞ - āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻžāϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āφāχāĻ•āύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻĒā§‚āĻ°ā§āĻŦ⧇, āĻāĻ•āϟāĻŋ āύāĻĨāĻŋāϰ āχāϤ⧋āĻŽāĻ§ā§āϝ⧇āχ āωāĻ˛ā§āϞ⧇āĻ–āĻŋāϤ āύāĻžāĻŽ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤

OnSaveAs

āύāĻĨāĻŋāϟāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇

...āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āĻĢāĻžāχāϞ - āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻžāϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āφāχāĻ•āύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, āĻāĻ•āϟāĻŋ āύāĻĨāĻŋāϰ āχāϤ⧋āĻŽāĻ§ā§āϝ⧇āχ āωāĻ˛ā§āϞ⧇āĻ–āĻŋāϤ āύāĻžāĻŽ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤

OnSaveDone

āύāĻĨāĻŋāϰ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻŦā§āϝāĻ°ā§āĻĨ

Document could not be saved.

OnSaveFailed

āύāĻĨāĻŋāϟāĻŋ āĻāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāĻŦ⧇

...āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻžāĻŽā§‡ (āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋāϰ āύāĻžāĻŽ āχāϤ⧋āĻŽāĻ§ā§āϝ⧇ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āύāĻž āĻšā§Ÿ āϤāĻžāĻšāϞ⧇ āĻĢāĻžāχāϞ - āĻ…āĻ¨ā§āϝāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻž āĻĢāĻžāχāϞ - āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻž āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āφāχāĻ•āύ āĻāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇) āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻĒā§‚āĻ°ā§āĻŦ⧇ āĨ¤

OnSaveAs

āύāĻĨāĻŋāϟāĻŋāϕ⧇ āĻāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇

...āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻžāĻŽā§‡ (āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āύāĻĨāĻŋāϰ āύāĻžāĻŽ āχāϤ⧋āĻŽāĻ§ā§āϝ⧇ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āύāĻž āĻšā§Ÿ āϤāĻžāĻšāϞ⧇ āĻĢāĻžāχāϞ - āĻ…āĻ¨ā§āϝāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻž āĻĢāĻžāχāϞ - āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻ…āĻĨāĻŦāĻž āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āφāχāĻ•āύ āĻāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇) āĻāĻ•āϟāĻŋ āύāĻĨāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āĨ¤

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. āϟ⧁āϞ - āĻ¸ā§āĻŦāύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻˇā§āĻ āĻžāύ āĻŸā§āϝāĻžāĻŦ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

  2. āφāĻĒāύāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻāĻ•ā§ƒāϤ āĻ•āĻžāϜ āϏāĻžāĻ°ā§āĻŦāϜāύ⧀āύāĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāϤ⧇ āϚāĻžāύ āĻ•āĻŋāύāĻž āĻ…āĻĨāĻŦāĻž āĻāĻ–āĻžāύ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āϤāĻžāϞāĻŋāĻ•āĻž āĻŦāĻžāĻ•ā§āϏ⧇āϰ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āύāĻĨāĻŋāϤ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāϤ⧇ āϚāĻžāύ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤

  3. āχāϭ⧇āĻ¨ā§āϟ āϤāĻžāϞāĻŋāĻ•āĻž āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āϟ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤

  4. āĻŽā§āϝāĻžāĻ•ā§āϰ⧋ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ āχāϭ⧇āĻ¨ā§āĻŸā§‡ āĻŽā§āϝāĻžāĻ•ā§āϰ⧋ āύāĻŋā§Ÿā§‹āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤

  5. āĻŽā§āϝāĻžāĻ•ā§āϰ⧋ āύāĻŋā§Ÿā§‹āĻ— āĻ•āϰāϤ⧇ āĻ āĻŋāĻ• āφāϛ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

  6. āĻĄāĻžāϝāĻŧāĻžāϞāĻ— āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ āĻ āĻŋāĻ• āφāϛ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āĻŸā§‡ āĻŽā§āϝāĻžāĻ•ā§āϰ⧋āϰ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āϏāϰāĻžāύ⧋ āĻšāĻšā§āϛ⧇

  1. āϟ⧁āϞ - āĻ¸ā§āĻŦāύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻˇā§āĻ āĻžāύ āĻŸā§āϝāĻžāĻŦ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

  2. āϏāĻžāĻ°ā§āĻŦāϜāύ⧀āύ āĻŦāϰāĻžāĻĻā§āĻĻāĻ•ā§ƒāϤ āĻ•āĻžāϜāϟāĻŋ āĻ…āĻĨāĻŦāĻž āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ–āĻžāύ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āϤāĻžāϞāĻŋāĻ•āĻž āĻŦāĻžāĻ•ā§āϏ⧇ āĻ…āĻĒāĻļāύ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āύāĻĨāĻŋāϤ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻāĻ•āϟāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻāĻ•ā§ƒāϤ āĻ•āĻžāϜ āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•āϰāĻŦ⧇āύ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤

  3. āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āϟ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻāĻ•ā§ƒāϤ āĻ•āĻžāϜ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āϝāĻž āχāϭ⧇āĻ¨ā§āϟ āϤāĻžāϞāĻŋāĻ•āĻž āĻšāϤ⧇ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻž āϝāĻžā§ŸāĨ¤

  4. āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

  5. āĻĄāĻžāϝāĻŧāĻžāϞāĻ— āĻŦāĻ¨ā§āϧ āĻ•āϰāϤ⧇ āĻ āĻŋāĻ• āφāϛ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

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

Please support us!