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.

Event

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

New Document

...after a new document is created with \<emph\>File - New\</emph\> or with the \<emph\>New\</emph\> icon.

OnNew

טעינת המסמך הסתיימה

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

OnLoadFinished

Open Document

...after a document is opened with \<emph\>File - Open\</emph\> or with the \<emph\>Open\</emph\> icon.

OnLoad

המסמך עומד להיסגר

...before a document is closed.

OnPrepareUnload

Document is being closed

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

Activate Document

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

OnFocus

Deactivate Document

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

OnUnfocus

Save Document

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

OnSaveAs

Document has been saved

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

OnSaveDone

שמירת המסמך נכשלה

Document could not be saved.

OnSaveFailed

Save Document As

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

OnSaveAs

Document has been saved as

... after a document was saved under a specified name (with \<emph\>File - Save As\</emph\>, or with \<emph\>File - Save\</emph\> or with the \<emph\>Save\</emph\> 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 \<emph\>Tools - Customize\</emph\> and click the \<emph\>Events\</emph\> tab.

  2. Select whether you want the assignment to be globally valid or just valid in the current document by selecting the \<emph\>LibreOffice\</emph\> or \<emph\>Document\</emph\> option.

  3. Select the event from the \<emph\>Event\</emph\> list.

  4. Select the module containing the macro to be assigned to the selected event from the \<emph\>Macros\</emph\> list. The list contains a hierarchical list of modules, libraries, files, and templates.

  5. Click \<emph\>Assign\</emph\>.

  6. Click \<emph\>OK\</emph\> to close the dialog.

Removing the Assignment of a Macro to an Event

  1. Choose \<emph\>Tools - Customize\</emph\> and click the \<emph\>Events\</emph\> 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 \<emph\>LibreOffice\</emph\> or \<emph\>Document\</emph\> option.

  3. Select the event that contains the assignment to be removed from the \<emph\>Event\</emph\> list.

  4. Click \<emph\>Remove\</emph\>.

  5. Click \<emph\>OK\</emph\> to close the dialog.

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

Please support us!