Contents
Index 🔎︎

# 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 File - New or with the New icon.
Open Document | ...after a document is opened with File - Open or with the Open icon.
Save Document As | ...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).
Document has been saved as | ... 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).
Save Document | ...before a document is saved with File - Save or the Save icon, provided that a document name has already been specified.
Document has been saved | ...after a document is saved with File - Save or the Save icon, provided that a document name has already been specified.
Document is closing | ...before a document is closed.
Document 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 Print 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 Print 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

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.

## 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 close the dialog.