Содержимое

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

Событие | Назначенный макрос выполняется... | routine
--- | --- | ---
Start Application | ...after a LibreOffice application is started. | OnStartApp
Close Application | ...перед прекращением приложения LibreOffice. | OnCloseApp
Document created | ...New document created with File - New or with the New icon. Note that this event also fires when Basic IDE opens. | OnCreate
New Document | ...после создания нового документа с помощью параметров Файл - Создать или значка Создать. | OnNew
Document loading finished | ...before a document is opened with File - Open or with the Open icon. | OnLoadFinished
Открыть документ | ...после открытия документа с помощью параметров Файл - Открыть или значка Открыть. | OnLoad
Document is going to be closed | ...перед закрытием документа. | OnPrepareUnload
Документ закрыт | ...после закрытия документа. Следует иметь в виду, что событие "Сохранить документ" может также иметь место, когда документ сохраняется перед закрытием. | OnUnload
-no UI- |  | OnLayoutFinished
View created | Document is displayed. Note that this event also happens when a document is duplicated. | OnViewCreated
View is going to be closed | Document layout is getting removed. | OnPrepareViewClosing
View closed | Document layout is cleared prior to the document closure. | OnViewClosed
Активировать документ | ...после выведения документа на передний план. | OnFocus
Деактивировать документ | ...после выведения другого документа на передний план. | OnUnfocus
Сохранить документ | ...перед сохранением документа с помощью параметров Файл - Сохранить или значка Сохранить при условии, что имя документа уже указано. | OnSaveAs
Документ сохранён | ...после сохранения документа с помощью параметров Файл - Сохранить или значка Сохранить при условии, что имя документа уже указано. | OnSaveDone
Saving of document failed | Document could not be saved. | OnSaveFailed
Сохранить документ как | ...перед сохранением документа под указанным именем (с помощью параметров Файл - Сохранить как, параметров Файл - Сохранить или значка Сохранить, если имя документа ещё не было указано). | OnSaveAs
Документ сохранён как | ... ...после сохранения документа под указанным именем (с помощью параметров Файл - Сохранить как, параметров Файл - Сохранить или значка Сохранить, если имя документа ещё не было указано). | 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
Storing or exporting copy of document | ...before a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons. | OnCopyTo
Document copy has been created | ...after a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons. | OnCopyToDone
Creating of document copy failed | Document could not be copied or exported. | OnCopyToFailed
Print 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 changed | Modified state of a document has changed. | OnModifyChanged
Document title changed | When the document title gets updated. | OnTitleChanged
Loaded a sub component | ...after a database form has been opened. | OnSubComponentOpened
Closed a sub component | ...after a database form has been closed. | OnSubComponentClosed
Printing of form letters started | ...before printing form letters using File - Print or Tools - Mail Merge Wizard menus. | OnMailMerge
Printing of form letters finished | ...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
Изменение количества страниц | 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.

## Назначение макроса событию

1. Выберите параметры Сервис - Настройка и откройте вкладку События.

2. Укажите в окне списка Сохранить в, будет ли назначение глобальным, или действующим только в текущем документе.

3. Выберите событие из списка Событие.

4. Нажмите Макрос и выберите макрос для назначения выбранному событию.

5. Нажмите кнопку ОК для назначения макроса.

6. Нажмите кнопку ОК, чтобы закрыть диалоговое окно.

## Удаление назначения макроса событию

1. Выберите параметры Сервис - Настройка и откройте вкладку События.

2. Укажите, какое назначение следует удалить – глобальное назначение или назначение, действующее только в текущем документе, – путём выбора параметра в окне списка Сохранить в.

3. Выберите событие, которое содержит удаляемое назначение, из списка Событие.

4. Нажмите кнопку Удалить.

5. Нажмите кнопку ОК, чтобы закрыть диалоговое окно.

См. также

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