Creare una classe
Il codice VBA delle funzioni e procedure normalì è inserito in un modulo VBA, per creare una classe dobbiamo utilizzare un diverso tipo di modulo, chiamato Modulo di Classe, con il punsante destro dall'albero come nella figura a lato. |
Una volta creato il modulo vuoto andremo ad assegnare il nome alla classe dalla finestra delle proprietà. |
Il nostro albero di progetto dopo le operazioni qui sopra apparirà come nell'immagina a lato |
Variabili, Procedure e Funzioni
Una classe contiene variabili, funzioni e procedure, nella forma più semplice le variabili sono definite Public e sono accessibili dall'esterno.
Proprietà
un concetto fondamentale delle classi è che non è necessario conoscere come funzionano al loro interno per poterle utilizzare. Ai dati al suo interno si può accedere con le proprietà, queste sono:
- Get: legge il valore della proprietà
- Let: imposta il valore della proprietà;
- Set: assegna un oggetto alla proprietà.
Un esempio base per mostrare l'utilizzo di Let e Set per permettere l'accesso ad una variabile privata:
Un esempio con una proprietà Variant aiuta capire la differenza fra Let e Set:
Initialize e Terminate
I moduli di classe, definiscono due eventi: Initialize e Terminate sono associati rispettivamente alla creazione e alla distruzione della classe.
L'evento Class_Initialize permette di creare gli oggetti associati alla classe come Colleciton o Vettori o di impostare valori di default per le variabili della classe.
L'envento Class_Terminate permette di liberare la memoria associata agli oggetti creati nella classe.
Avento una variabile Collection dovremmo creare l'oggetto con la classe e distruggerlo quando viene distrutta la classe, come nell'esempio sotto.