Creare una classe
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Argomenti correlati
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.
Public Nome As String
Public Cognome As String

Function CognomeNome() as String
  CognomeNome = Cognome & " " & Nome
End Property

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:
  1. Get: legge il valore della proprietà
  2. Let: imposta il valore della proprietà;
  3. 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:
Private pNome As String

Property Get Nome() As String
  Nome = pNome
End Property

Property Let Nome(tNome As String)
  pNome = tNome
End Property

Un esempio con una proprietà Variant aiuta capire la differenza fra Let e Set:
Private pDato As Variant

Property Get Dato() As Variant
  If IsObject(pDato) Then
    Set Dato = pDato
  Else
    Dato = pDato
  End If
End Property

Property Let Dato(nDato As Variant)
  pDato = nDato
End Property

Property Set Dato(nDato As Variant)
  Set pDato = nDato
End Property


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.
 

data4idea srls - PIva 01881000937 - info@data4idea.it