Contenuto

# Macro controllate dagli eventi nel documento

Questa sezione descrive come assegnare degli script a degli eventi dell'applicazione, del documento o di un formulario.

Assegnando la macro desiderata a un evento, potete eseguirla quando si verifica l'evento software specificato. La seguente tabella fornisce una panoramica degli eventi di un documento e del punto in cui viene eseguita una macro a questi assegnata.

Evento | La macro assegnata viene eseguita... | routine
--- | --- | ---
Avvia l'applicazione | ...dopo l'avvio di un'applicazione di LibreOffice. | OnStartApp
Chiudi l'applicazione | ...prima del termine di un'applicazione di LibreOffice. | OnCloseApp
Documento creato | ...Un nuovo documento creato con File - Nuovo o con l'icona Nuovo. Attenzione che questo evento viene attivato anche all'apertura dell'IDE di Basic. | OnCreate
Nuovo documento | ...dopo la creazione di un nuovo documento con il comando File - Nuovo o con l'icona Nuovo. | OnNew
Caricamento del documento terminato | ...prima dell'apertura di un documento con il comando File - Apri o con l'icona Apri. | OnLoadFinished
Apri documento | ...dopo l'apertura di un documento con il comando File - Apri o con l'icona Apri. | OnLoad
Il documento sta per essere chiuso | ...prima che il documento venga chiuso. | OnPrepareUnload
Documento chiuso | ...dopo che il documento è stato chiuso. L'evento "Salva documento" si verifica anche quando il documento viene salvato prima della chiusura. | OnUnload
-nessuna UI- |  | OnLayoutFinished
Vista creata | Il documento viene visualizzato. Attenzione che questo evento si verifica anche quando un documento viene duplicato. | OnViewCreated
La vista attiva sta per essere chiusa | La formattazione del documento viene rimossa. | OnPrepareViewClosing
Vista chiusa | La formattazione del documento viene rimossa prima della sua chiusura. | OnViewClosed
Attiva documento | ...dopo che un documento è stato portato in primo piano. | OnFocus
Disattiva documento | ...dopo che un altro documento è stato portato in primo piano. | OnUnfocus
Salva documento | ...prima che il documento, il cui nome deve già essere stato specificato, venga salvato con il comando File - Salva o con l'icona Salva. | OnSaveAs
Il documento è stato salvato | ...dopo che il documento, il cui nome deve già essere stato specificato, è stato salvato con il comando File - Salva o con l'icona Salva. | OnSaveDone
Salvataggio del documento non riuscito | Impossibile salvare il documento. | OnSaveFailed
Salva documento con nome | ...prima che il documento venga salvato con un nome specificato (con il comando File - Salva con nome o, se il nome del documento non è ancora stato specificato, con il comando File - Salva o con l'icona Salva). | OnSaveAs
Il documento è stato salvato con nome | ... ...dopo che il documento è stato salvato con un nome specificato (con il comando File - Salva con nome o, se il nome del documento non è ancora stato specificato, con il comando File - Salva o con l'icona Salva). | OnSaveAsDone
'Salva con nome' non riuscito | Impossibile salvare il documento. | OnSaveAsFailed
-nessuna UI- | Quando viene modificata la posizione di memorizzazione del documento sul disco, ad esempio dopo un'azione File - Salva con nome. | OnStorageChanged
Memorizza o esporta la copia del documento | ...prima che il documento sia salvato con File - Salva una copia, File - Esporta, File - Esporta come - Esporta nel formato PDF o le icone Salva. | OnCopyTo
La copia del documento è stata creata | ...dopo che il documento è stato salvato con File - Salva una copia, File - Esporta, File - Esporta come - Esporta nel formato PDF o le icone Salva. | OnCopyToDone
La creazione della copia del documento non è riuscita | Impossibile copiare o esportare il documento. | OnCopyToFailed
Stampa documento | ...dopo la chiusura della finestra di dialogo Stampa ma prima che abbia inizio l'effettivo processo di stampa. Questo evento si verifica per ogni copia stampata. | OnPrint
-nessuna UI- | ...dopo che sono state modificate le impostazioni di sicurezza del documento. | OnModeChanged
Lo stato 'modificato' è cambiato | Lo stato "modificato" del documento è cambiato. | OnModifyChanged
Il titolo del documento è cambiato | Quando viene aggiornato il titolo del documento. | OnTitleChanged
Caricato un componente secondario | ...dopo l'apertura del formulario di un database. | OnSubComponentOpened
Chiuso un componente secondario | ...dopo la chiusura del formulario di un database. | OnSubComponentClosed
La stampa dei moduli è iniziata | ...prima della stampa in serie usando i menu File - Stampa o Strumenti - Stampa guidata in serie…. | OnMailMerge
La stampa dei moduli è terminata | ...dopo la stampa in serie usando i menu File - Stampa o Strumenti - Stampa guidata in serie…. | OnMailMergeFinished
Stampa dei campi del formulario iniziata | ...prima della stampa dei campi del formulario. | OnFieldMerge
Stampa dei campi del formulario terminata | ...dopo la stampa dei campi del formulario. | OnFieldMergeFinished
Modifica del numero delle pagine | Quando cambia il numero delle pagine. | OnPageCountChanged

La maggior parte degli eventi è legata ai documenti, fatta eccezione per OnStartApp, OnCloseApp, OnCreate e OnLoadFinished, che si verificano a livello dell'applicazione. Gli eventi OnSubComponentOpened e OnSubComponentClosed vengono attivati dai formulari dei database.

I documenti di Writer attivano questi specifici eventi: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished e OnPageCountChanged.

## Assegnare una macro a un evento

1. Scegliete Strumenti - Personalizza e fate clic sulla scheda Eventi.

2. Scegliete se volete applicare l'assegnazione a livello globale o solo al documento attivo nella casella di riepilogo Salva in.

3. Selezionate l'evento dall'elenco Evento.

4. Fate clic su Macro e scegliete la macro da assegnare all'evento selezionato.

5. Fate clic su OK per assegnare la macro.

6. Fate clic su OK per chiudere la finestra di dialogo.

## Rimuovere l'assegnazione di una macro a un evento

1. Scegliete Strumenti - Personalizza e fate clic sulla scheda Eventi.

2. Scegliete se volete rimuovere un'assegnazione globale o una valida solo nel documento attivo, selezionando le opzioni nella casella di riepilogo Salva in.

3. Selezionate l'evento che contiene l'assegnazione da rimuovere dall'elenco Evento.

4. Fate clic su Rimuovi.

5. Fate clic su OK per chiudere la finestra di dialogo.

Argomenti correlati

In aggiunta all'assegnazione delle macro agli eventi è possibile monitorare gli eventi attivati nei documenti di LibreOffice.