Event-Driven Macros
This section describes how to assign Basic programs to program 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 program events and at what point an assigned macro is executed.
|
Event |
An assigned macro is executed... |
|
Program Start |
... after a LibreOffice application is started. |
|
Program End |
...before a LibreOffice application is terminated. |
|
Create Document |
...after a new document is created with \<emph\>File - New\</emph\> or with the \<emph\>New\</emph\> icon. |
|
Open Document |
...after a document is opened with \<emph\>File - Open\</emph\> or with the \<emph\>Open\</emph\> icon. |
|
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). |
|
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). |
|
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. |
|
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. |
|
Close Document |
...before a document is closed. |
|
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. |
|
Activate Document |
...after a document is brought to the foreground. |
|
Deactivate Document |
...after another document is brought to the foreground. |
|
Print Document |
...after the \<emph\>Print\</emph\> dialog is closed, but before the actual print process begins. |
|
JavaScript run-time error |
...when a JavaScript run-time error occurs. |
|
Print Mail Merge |
...after the \<emph\>Print\</emph\> dialog is closed, but before the actual print process begins. This event occurs for each copy printed. |
|
Change of the page count |
...when the page count changes. |
|
Message received |
...if a message was received. |
Assigning a Macro to an Event
-
Choose \<emph\>Tools - Customize\</emph\> and click the \<emph\>Events\</emph\> tab.
-
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.
-
Select the event from the \<emph\>Event\</emph\> list.
-
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.
-
Click \<emph\>Assign\</emph\>.
-
Click \<emph\>OK\</emph\> to close the dialog.
Removing the Assignment of a Macro to an Event
-
Choose \<emph\>Tools - Customize\</emph\> and click the \<emph\>Events\</emph\> tab.
-
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.
-
Select the event that contains the assignment to be removed from the \<emph\>Event\</emph\> list.
-
Click \<emph\>Remove\</emph\>.
-
Click \<emph\>OK\</emph\> to close the dialog.