Contents

# 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
مستند جديد | ...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

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

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. انقر موافق لتعيين الماكرو.

6. انقر موافقلإغلاق مربع الحوار.

## إزالة تعيين مهمة الماكرو إلى الحدث

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. انقر إزالة.

5. انقر موافقلإغلاق مربع الحوار.

Related Topics

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