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.

เช˜เชŸเชจเชพเช“

An assigned macro is executed...

routine

เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเชจเซ‡ เชถเชฐเซ‚ เช•เชฐเซ‹

...after a LibreOffice application is started.

OnStartApp

เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเชจเซ‡ เชฌเช‚เชง เช•เชฐเซ‹

...before a LibreOffice application is terminated.

OnCloseApp

เชฆเชธเซเชคเชพเชตเซ‡เชœ เชฌเชจเชพเชตเซ‡เชฒ เช›เซ‡

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

OnCreate

Text Document

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

เชฆเชธเซเชคเชพเชตเซ‡เชœ เช เชฌเช‚เชง เชฅเชตเชพ เชœเช‡ เชฐเชนเซเชฏเซ เช›เซ‡

...before a document is closed.

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

เชฆเชธเซเชคเชพเชตเซ‡เชœ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‹

...after a document is brought to the foreground.

OnFocus

เชฆเชธเซเชคเชพเชตเซ‡เชœ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเซ‹

...after another document is brought to the foreground.

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

เชฆเชธเซเชคเชพเชตเซ‡เชœเชจเซ‡ เช›เชพเชชเซ‹

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

Change of the page count

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.


Assigning a Macro to an Event

  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 append the library.

  6. Click OK to append the library.

Removing the Assignment of a Macro to an Event

  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 append the library.

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

Please support us!