Съдържание

# Макроси, управлявани от събития в документа

В този раздел е описано как да присвоявате скриптове на събития от приложение, документ или формуляр.

При възникване на дадено събитие може автоматично да се изпълнява макрос, който му е присвоен. В следващата таблица са обобщени събитията в документ и моментите, в които се изпълняват приписаните им макроси.

Събитие | Приписаният макрос се изпълнява… | Подпрограма
--- | --- | ---
Стартиране на приложение | …след като бъде стартирано приложение на LibreOffice. | OnStartApp
Затваряне на приложение | …преди да се спре приложение на LibreOffice. | OnCloseApp
Създаден документ | …след като бъде създаден нов документ с Файл - Нов или с иконата Нов. Имайте предвид, че това събитие възниква и когато се отвори развойната среда на Basic. | OnCreate
Нов документ | …след като бъде създаден нов документ с Файл - Нов или с иконата Нов. | OnNew
Завършено зареждане на документ | …преди да бъде отворен документ с Файл - Отваряне или с иконата Отваряне. | OnLoadFinished
При отваряне на документ | …след като бъде отворен документ с Файл - Отваряне или с иконата Отваряне. | OnLoad
Документ ще бъде затворен | …преди да бъде затворен документ. | OnPrepareUnload
Документът е затворен | …след като е бил затворен документ. Забележете, че събитието „При записване на документ“ може да възникне, когато документът се записва преди затваряне. | OnUnload
- няма потребителски интерфейс - |  | OnLayoutFinished
Създаден изглед | Документ е показан на екрана. Забележете, че събитието възниква и при дублиране на документ. | OnViewCreated
Изглед ще бъде затворен | Оформление на документ бива премахнато. | OnPrepareViewClosing
Затворен изглед | Оформление на документ се изчиства преди затварянето на документа. | OnViewClosed
Активиране на документ | …след като документ бъде изнесен на преден план. | OnFocus
Деактивиране на документ | …след като друг документ бъде изнесен на преден план. | OnUnfocus
При записване на документ | …преди документ да бъде записан с Файл - Записване или иконата Записване, ако вече му е зададено име. | OnSaveAs
След записване на документ | …след като документ бъде записан с Файл - Записване или иконата Записване, ако вече му е зададено име. | OnSaveDone
Неуспешно записване на документ | Не е било възможно да се запише документ. | OnSaveFailed
При записване на документ като | …преди документ да бъде записан под зададено име (с Файл - Записване като или с Файл - Записване или иконата Файл - Записване, ако на файла още не е зададено име). | OnSaveAs
След записване на документ като | …след като документ бъде записан под зададено име (с Файл - Записване като или с Файл - Записване или иконата Записване, ако на файла още не е зададено име). | OnSaveAsDone
Неуспешно „Записване като“ | Не е било възможно да се запише документ. | OnSaveAsFailed
- няма потребителски интерфейс - | Когато дисковото местоположение на документа се е променило, например след команда Файл - Записване като.... | OnStorageChanged
Записване или експортиране копие на документ | …преди документ да бъде записан с Файл - Записване на копие, Файл - Експортиране, Файл - Експортиране като PDF или иконите Записване. | OnCopyTo
Създадено копие на документ | …след като документ бъде записан с Файл - Записване на копие, Файл - Експортиране, Файл - Експортиране като PDF или иконите Записване. | OnCopyToDone
Неуспешно създаване копие на документ | Не е било възможно да се копира или експортира документ. | OnCopyToFailed
Отпечатване на документ | …след като бъде затворен диалоговият прозорец „Печат“, но преди началото на действителното отпечатване. Това събитие възниква при отпечатването на всяко копие. | OnPrint
- няма потребителски интерфейс - | …след като са били променени настройките за сигурност на документ. | OnModeChanged
Промяна в статута „Променен“ | Променен е бил статутът „Променен“ на документа. | OnModifyChanged
Променено заглавие на документ | Когато бива обновено заглавието на документа. | OnTitleChanged
Зареден подкомпонент | …след като е бил отворен формуляр на база от данни. | OnSubComponentOpened
Затворен подкомпонент | …след като е бил затворен формуляр на база от данни. | OnSubComponentClosed
Начало на печат на циркулярни писма | …преди отпечатване на типови писма с командата Файл - Печат или Инструменти - Помощник за циркулярни писма. | OnMailMerge
Край на печат на циркулярни писма | …след отпечатване на типови писма с командата Файл - Печат или Инструменти - Помощник за циркулярни писма. | OnMailMergeFinished
Начало на печат на формулярни полета | …преди отпечатване на полета от формуляр. | OnFieldMerge
Край на печат на формулярни полета | …след отпечатване на полета от формуляр. | OnFieldMergeFinished
Промяна в броя на страниците | Когато броят на страниците се промени. | OnPageCountChanged

Повечето събития са свързани с документи, с изключение на OnStartApp, OnCloseApp, OnCreate и OnLoadFinished, които възникват на ниво приложение. Събитията OnSubComponentOpened и OnSubComponentClosed се генерират от формулярите в база от данни.

Документите на Writer генерират следните специфични събития: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished и OnPageCountChanged.

## Приписване на макрос на събитие

1. Изберете Инструменти - Персонализиране и щракнете върху раздела Събития.

2. Посочете дали желаете приписването на макрос да важи глобално или само в текущия документ чрез списъчното поле Съхраняване в.

3. Изберете събитието от списъка Събитие.

4. Щракнете върху Макрос и изберете макроса, който да бъде приписан на избраното събитие.

5. Щракнете върху OK, за да припишете макроса.

6. Щракнете върху OK, за да затворите диалоговия прозорец.

## Отмяна на приписването на макрос на събитие

1. Изберете Инструменти - Персонализиране и щракнете върху раздела Събития.

2. Посочете дали желаете да премахнете глобално приписване на макрос или такова в текущия документ чрез списъчното поле Съхраняване в.

3. Изберете събитието, на което е приписан макросът, от списъка Събитие.

4. Щракнете върху Премахване.

5. Щракнете върху OK, за да затворите диалоговия прозорец.

Теми, свързани с показаната

Освен да присвоявате макроси на събития, можете да зададете наблюдение на събитията, възникващи в документи на LibreOffice.