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

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

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

Събитие

Приписаният макрос се изпълнява…

Подпрограма

Стартиране на приложение

…след като бъде стартирано приложение на 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


note

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


tip

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Моля, подкрепете ни!