Document Event-Driven Macros/text/sbasic/shared/01040000.xhpdeleting; macro assignments to eventsmacros; assigning to eventsassigning macros to eventsdocuments; eventsevents; assigning macrosevents; in documentsAPI; XDocumentEventListener
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.
EventAn assigned macro is executed...routineStart Application...after a $[officename] application is started.OnStartAppClose Application...before a $[officename] application is terminated.OnCloseAppDocument created...New document created with File - New or with the New icon. Note that this event also fires when Basic IDE opens.OnCreateNew Document...after a new document is created with File - New or with the New icon.OnNewDocument loading finished...before a document is opened with File - Open or with the Open icon.OnLoadFinishedOpen Document...after a document is opened with File - Open or with the Open icon.OnLoadDocument is going to be closed...before a document is closed.OnPrepareUnloadDocument 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-OnLayoutFinishedView createdDocument is displayed. Note that this event also happens when a document is duplicated.OnViewCreatedView is going to be closedDocument layout is getting removed.OnPrepareViewClosingView closedDocument layout is cleared prior to the document closure.OnViewClosedActivate Document...after a document is brought to the foreground.OnFocusDeactivate Document...after another document is brought to the foreground.OnUnfocusSave Document...before a document is saved with File - Save or the Save icon, provided that a document name has already been specified.OnSaveAsDocument has been saved...after a document is saved with File - Save or the Save icon, provided that a document name has already been specified.OnSaveDoneSaving of document failedDocument could not be saved.OnSaveFailedSave 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).OnSaveAsDocument 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).OnSaveAsDone'Save As' has failedDocument could not be saved.OnSaveAsFailed-no UI-When the document disk location has changed, for example after a File - Save As action.OnStorageChangedStoring or exporting copy of document...before a document is saved with , , or the icons.OnCopyToDocument copy has been created...after a document is saved with , , or the icons.OnCopyToDoneCreating of document copy failedDocument could not be copied or exported.OnCopyToFailedPrint 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' status was changedModified state of a document has changed.OnModifyChangedDocument title changedWhen the document title gets updated.OnTitleChangedLoaded a sub component...after a database form has been opened.OnSubComponentOpenedClosed a sub component...after a database form has been closed.OnSubComponentClosedPrinting of form letters started...before printing form letters using File - Print or Tools - Mail Merge Wizard menus.OnMailMergePrinting of form letters finished...after printing of form letters using File - Print or Tools - Mail Merge Wizard menus.OnMailMergeFinishedPrinting of form fields started...before printing form fields.OnFieldMergePrinting of form fields finished...after printing form fields.OnFieldMergeFinishedChange of the page countWhen the page count changes.OnPageCountChanged
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.Writer documents are triggering those specific events: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished and OnPageCountChanged.
Assigning a Macro to an Event
Choose Tools - Customize and click the Events tab.Select whether you want the assignment to be globally valid or just valid in the current document in the Save In listbox.Select the event from the Event list.Click Macro and select the macro to be assigned to the selected event.Click OK to assign the macro.Click OK to close the dialog.
Removing the Assignment of a Macro to an Event
Choose Tools - Customize and click the Events tab.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.Select the event that contains the assignment to be removed from the Event list.Click Remove.Click OK to close the dialog.In addition to assigning macros to events, one can monitor events triggered in %PRODUCTNAME documents.