Gli Oggetti Excel

Come le Userform, viste nel capitolo precedente, anche Microsoft Excel è formato da oggetti che sono contraddistinti da proprietà, metodi ed eventi.
Il capitolo seguente introduce agli oggetti più comuni e utilizzati di Excel VBA. I concetti da illustrare sarebbero innumerevoli, tuttavia la trattazione è volutamente stringata, in quanto è tutto ampiamente descritto nella guida in linea di Excel VBA.
Suggerimento:
Come è gia stato spiegato nel secondo paragrafo del capitolo riguardante l’ambiente di sviluppo; un metodo molto efficace per comprendere la logica di utilizzo degli oggetti appartenenti ad Excel VBA è creare delle macro e studiarne il codice Visual Basic associato. Nel caso si incontrasse un’istruzione, un oggetto o una proprietà di cui si vuole conoscere le caratteristiche, posizionarsi col cursore sulla parola interessata e premere il tasto "F1". Questo provoca l’apertura della guida in linea direttamente sull’elemento cercato.

L'oggetto Application

Rappresenta l'intera applicazione Microsoft Excel. L'oggetto Application contiene:
  • Impostazioni e opzioni per l'intera applicazione, ad esempio molte delle opzioni della finestra di dialogo Opzioni del menu Strumenti.
  • Metodi che restituiscono oggetti, quali Workbook (Cartella di lavoro), Worksheet (Foglio di lavoro), ActiveCell (Cella attiva), ActiveSheet (Foglio attivo) e così via.
Molte delle proprietà e dei metodi che restituiscono gli oggetti più comuni dell'interfaccia utente, quale la cella attiva (proprietà ActiveCell), le cartelle di lavoro (Workbooks), e i fogli di lavoro (Worksheets), possono essere utilizzati senza il qualificatore di oggetto Application. Invece di scrivere "Application.ActiveCell.Font.Bold = True" sarà ad esempio possibile scrivere "ActiveCell.Font.Bold = True".

L'insieme Workbooks

Workbook rappresenta una cartella di lavoro di Microsoft Excel, ed è un elemento dell'insieme Workbooks. L'insieme Workbooks contiene tutti gli oggetti Workbook aperti di Microsoft Excel.
Vediamo alcuni esempi di metodi e proprietà per la restituzione di un oggetto Workbook.
Questo esempio chiude tutte le cartelle di lavoro aperte.
	Workbooks.Close
Questo esempio aggiunge una nuova cartella di lavoro vuota col metodo Add.
	Workbooks.Add
Questo esempio apre il file Array.xls come cartella di lavoro di sola lettura.
	Workbooks.Open FileName:="Array.xls", ReadOnly:=True
Questo esempio attiva la prima cartella di lavoro aperta
	Workbooks(1).Activate
Il numero di indice determina l'ordine nel quale le cartelle di lavoro sono state aperte o create. Workbooks(1) è la cartella di lavoro creata per prima, mentre Workbooks(Workbooks.Count) è quella creata per ultima. L'attivazione di una cartella di lavoro non ne modifica il numero di indice. Nel calcolo del numero di indice sono comprese tutte le cartelle di lavoro, anche quelle nascoste.
La proprietà Name restituisce il nome della cartella di lavoro. Non è possibile impostare il nome della cartella di lavoro utilizzando questa proprietà. Per salvare la cartella di lavoro con un nome diverso, utilizzare il metodo SaveAs. Questo esempio attiva il foglio di lavoro Foglio1 della cartella di lavoro Cogn.xls, che deve essere già aperta.
	Workbooks("Cogn.xls").Worksheets("Foglio1").Activate
La proprietà ActiveWorkbook restituisce la cartella di lavoro attiva. Questo esempio imposta il nome dell'autore della cartella di lavoro attiva.
	ActiveWorkbook.Author = "Mauro Cognolato"
Per definire le routine di evento riguardanti la cartella Excel attiva esiste un modulo di codice predefinito denominato "ThisWorkbook", visibile in finestra di progetto. La casella degli oggetti contiene l’oggetto Workbook, mentre la casella eventi contiene tutti gli eventi associati a Workbook.
Esempio, proviamo ad inserire la routine seguente nel modulo di codice "ThisWorkBook" della cartella di lavoro Ciao.xls, utilizzata nel capitolo precedente.
	Private Sub Workbook_Open()
	    FrmCiao.show
	End Sub
La routine attiva la UserForm "FrmCiao" quando viene aperto il documento Excel.

Cognolato Studio © 2004