|
Eseguire una macro all'apertura del foglio Excel
|
 Una domanda frequente è: Come è possibile fare in modo che una macro venga eseguita all'apertura del file Excel?
All'apertura di un file può essere
infatti utile eseguire delle routine in modo automatico che
predispongano il foglio per l'utilizzo, un esempio può essere
nascondere i fogli di lavoro, posizionare il foglio in una certa
configurazione oppure eseguire l'accesso a una pagina web o a un
database per recuperare i dati aggiornati su cui lavorare.
Per prima cosa bisogna dire che Excel gestisce gli EVENTI.
Si tratta semplicemente di questo:Ogni volta che l'utente compie
un'azione per cui Excel deve fare qualcosa e intragire con l'utente
stesso, come ad esempio spostate il mouse, cliccate sul tasto sinistro,
premete
un tasto della
tastiera, aprite un foglio, cambiate foglio, aprite un
file etc, verifica se associato all'evento che è appena
accaduto esiste una porzione di codice (nota bene: UNA PORZIONE
DI CODICE e NON
una MACRO) da eseguire.
La distinzione tra Porzione di codice e Macro, sebbene sottile,
è fondamentale. Le Macro devono essere inseriti nei MODULI come
indicato nel tutorial dedicato.
La porzione di codice deve essere invece inclusa direttamente
all'interno del Foglio di lavoro o all'interno del file (Workbook) per
il quale vogliamo che, all'accaimento dello specifico evento, Excel
reagisca eseguendo quelle righe di codice: dovremo scegliere
all'interno dell'editor VBA l'elemento cui si riferisce l'evento che
vogliamo
intercettare. A questo evento dovremo associare le nostre
righe di codice.
Se desideriamo gestire l'evento che si riferisce a tutto il file
(Workbook) cliccheremo sulla voce Workbook. Se dediseriamo invece
gestire un evento quando ci troviamo all'interno del file Foglio1
dovremo cliccare sulla voce Foglio1 all'interno dell'area Peogetti
dell'editor VBA come indicato nell'immagine seguente:
In questa pagina ci focalizzeremo sull'evento che Excel genera all'atto
dell'apertura del File. Ovviamente trattandosi di un evento associato a
tutto il "file" e non associato a uno specifico foglio si
troverà all'interno del la voce "Workbook".
L'evento che viene eseguito ad ogni apertura di file è il segunete:
Private Sub Workbook_Open()
End Sub
Ovviamente normalmente questa procedura non contiene righe di codice
quindi l'utente non si accorge nemmeno che Excel, all'apertura esegue
questa routine dato che la routine, banalmente, non esiste.
E' sufficiente ora copiare il codice che volete che venga eseguito
all'interno di queste due righe e il gioco è fatto. Ad esempio
nell'immagine qui sotto il codice semplicemente nasconde il foglio
"Sheet1" all'apertura del file Excel:
Da questo momento in poi,
ogni volta che apriremo il fogliod i lavoro, Excel per prima cosa
verificherà l'esistenza del codice di gestione dell'evento, lo
eseguirà e solo successivamente trasferirà il controllo
all'utente.
  La
gestione degli eventi è molto potente ed è stata usata
estensivamente per la creazione di giochi interattivi descritti nel
libro "Giocare e Vincere con Excel" di cui vi consigliamo la lettura.
|
|