Conteúdo
Índice 🔎︎

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

Evento | Uma macro atribuída é executada... | routine
--- | --- | ---
Start Application | ...after a LibreOffice application is started. | OnStartApp
Close Application | ...antes de uma aplicação do LibreOffice ser encerrada. | 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 | ...depois de ser criado um novo documento com Ficheiro - Novo ou através do ícone Novo. | OnNew
Document loading finished | ...before a document is opened with File - Open or with the Open icon. | OnLoadFinished
Abrir documento | ...depois de um documento ser aberto com Ficheiro - Abrir ou através do ícone Abrir. | OnLoad
Document is going to be closed | ...antes de um documento ser fechado. | OnPrepareUnload
Documento fechado | ...depois de um documento ter sido fechado. Note que o evento "Guardar documento" pode também ocorrer quando o documento é guardado antes de ser fechado. | 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
Ativar documento | ...depois de um documento ser trazido para primeiro plano. | OnFocus
Desativar documento | ...depois de outro documento ser trazido para primeiro plano. | OnUnfocus
Guardar documento | ...antes de um documento ser guardado com Ficheiro - Guardar ou o ícone Guardar, desde que o nome do documento já tenha sido especificado. | OnSaveAs
O documento foi guardado | ...depois de um documento ter sido guardado com Ficheiro - Guardar ou através do ícone Guardar, desde que o nome do documento já tenha sido especificado. | OnSaveDone
Saving of document failed | Document could not be saved. | OnSaveFailed
Guardar documento como | ...antes de um documento ser guardado com um nome específico (com Ficheiro - Guardar como, com Ficheiro - Guardar ou através do ícone Guardar, se o nome do documento não foi ainda especificado). | OnSaveAs
O documento foi guardado como | ... depois de um documento ter sido guardado com um nome específico (com Ficheiro - Guardar como, com Ficheiro - Guardar ou através do ícone Guardar, se o nome do documento ainda não tiver sido especificado). | 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
Alterar total de páginas | 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.

## Atribuir uma macro a um evento

1. Escolha Ferramentas - Personalizar e clique no separador Eventos.

2. Selecione se pretende que a atribuição seja globalmente válida ou apenas válida no documento atual na caixa de lista Guardar em.

3. Selecione o evento na lista Evento.

4. Clique em Macro e selecione a macro que pretende atribuir ao evento selecionado.

5. Clique em Aceitar para atribuir a macro.

6. Clique em Aceitar para fechar a caixa de diálogo.

## Remover a atribuição de uma macro a um evento

1. Escolha Ferramentas - Personalizar e clique no separador Eventos.

2. Selecione se pretende remover uma atribuição globalmente ou apenas válida no documento atual, selecionando a opção na caixa de lista Guardar em.

3. Selecione o evento que possui a atribuição que pretende remover da lista Evento.

4. Clique em Remover.

5. Clique em Aceitar para fechar a caixa de diálogo.

Tópicos relacionados

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