L'oggetto Application è quello che permette di accedere alle proprietà ed ai comandi dell'intera applicazione Excel; ci sono oggetti analoghi a questo (con proprietà diverse) per le interagire tramite VBA con le altre applicazioni di Office Access, Word o PowerPoint...
Nella tabella qui sotto trovate le principali proprietà che si usano dell'oggetto Application.
Azione | Propietà o metodo | Possibili valori | Oggetto restituito |
---|
La cella attiva | ActiveCell | oggetto Range | |
Il foglio attivo | ActiveSheet | oggetto Worksheet | |
Il file attivo | ActiveWorkbook | oggetto Workbook | |
Calcolo delle formule (nel caso sia impostato in manuale) | Calculate | | |
Metodo di ricalcolo delle celle | Calculation | xlManual , xlAutomatic | |
Range di provenienza per le funzioni definite in VBA | Caller | oggetto Range | |
Il titolo della finestra | Caption | valore String | |
Impostazione del cursore | Cursor | xlWait , xlNormal , xlIBeam , xlNorthwestArrow | |
Il percorso predefinito in cui Excel legge o salva i file | DefaultFilePath | valore String | |
Attivazione o disattivazione dei warning | DisplayAlerts | False , True | |
Finestra di sistema di scelta dei file | GetOpenFilename | | valore String |
Attivazione/disattivazione dell'aggiornamento dello schermo | ScreenUpdating | False , True | |
Imposta l'orario in cui eseguire una procedura | OnTime | DataOra,nome procedura | |
Il file che contiene la macro | ThisWorkbook | oggetto Workbook | |
La posizione e dimensioni della finestra dell'applicazione | Top, Left, Width, Height | valore Integer | |
Il Range selezionato | Selection | oggetto Range | |
L'insieme dei file attivi | Workbooks | collection di Workbook | |
L'insieme dei fogli del file attivo | Worksheets | collection di Worksheet | |
|
Alcuni esempi di utilizzo delle funzioni riferite a l'oggetto Application.
GetOpenFilename
Qui sotto l'esempio della parte di codice che possiamo usare per aprire un file da codice e poi chiuderlo senza modificarlo:
'attiva la finestra di sistema per la scelta del file
fName =
Application.GetOpenFilename(filefilter:="Excel Files (*.xls*), *.xls*",
title:="File da importare")
'verifica che l'utente non abbia usato il tasto annulla
If (fName <> False)
Then
'apre il file, in questo caso senza aggiornare i collegamenti in modo da non avere il warning
Set Wb = Workbooks.
Open(Filename:=fName, UpdateLinks:=0)
...
Wb.
Close SaveChanges:=False
End If
Calculation
Nel caso di parti di codice la cui esecuzione è lunga o che interessa molte celle con il codice riportato sotto è possibile: disabilitare temporaneamente il l'aggiornamento dei calcoli, l'aggiornamento della finestra e impostare il cursore alla "clessidra".
DisplayAlerts
Per cancellare il foglio senza che venga mostrato il warning:
Caller
Contiene il range delle celle da cui è stata "chiamata" una funzione definita con macro:
- per le funzioni su cella singola l'indirizzo della cella;
- per le fuznioni di matrice il range di celle che contiene il risultato.
OnTime
Imposta a che ora eseguire una procedura, in questo esempio MiaProcedura viene eseguita dopo 10 secondi: