Il piccolo file allegato vuole mostrare l’uso un po’ più sofisticato che si può realizzare in Excel all’interno di Vba. Infatti abbiamo mostrato come si realizza una piccola classe: la classe Quadrato. Un ottimo lavoro nell’ambito mi sembra quello di Emanuele Mattei nel suo blog:http://blog.shareoffice.it/emanuele/articles/9973.aspx ma è indicato soprattutto per Vb.Net e C#. Invece la programmazione ad oggetti può aver luogo anche in Vba e in particolare in Excel. Il file mostra come si può calcolare l’area di un quadrato in vari modi: con le formule, con una piccola macro, con una classe. L’ultimo modo è certamente il più complicato, ma come esempio di costruzione di una classe deve essere visto al di là dei risultati immediati. In realtà per apprezzare i vantaggi nell’utilizzo delle classi bisogna scrivere codice. La nostra classe rappresenta sostanzialmente un quadrato geometrico: specificando il lato che viene memorizzato e che può essere letto e variato, rimangono fissate le proprietà conseguenti: diagonale, area, perimetro. Inoltre, come detto, il nostro quadrato possiede due “metodi” non euclidei: può essere ingrandito o rimpicciolito di una percentuale fissata. Una volta compiuto il lavoro di implementazione della classe vediamone l’uso: per prima cosa si deve creare un’istanza nel nostro programma con l’istruzione: Dim Q As New Quadrato. In questo modo si fa sapere ad Excel che Q è un “oggetto” della classe quadrato. Questa istruzione deve essere fatta per prima. Quindi abbiamo realizzato due piccole routines: la prima calcola l’area esattamente come si potrebbe fare in altro modo, la seconda utilizza il metodo IngrandisciP per incrementare il lato del quadrato. Notate come non compaiano formule matematiche nel codice del foglio1. Ma i fatti più interessanti accadono nell’Ide. Vediamo nell’immagine seguente come si comporta Vba quando scriviamo Q. dopo aver dichiarato che fa parte della classe Quadrato.
Vba correttamente ci indica quali metodi e proprietà possono essere applicate a Q.
Flavio Bertamini
Ultimi post di Flavio Bertamini (vedi tutti)
- Un backup per le formule - 19 Novembre 2013
- Una utility per la nostra macchina - 27 Aprile 2013
- Un database per il nostro disco fisso - 22 Aprile 2013
- Matematica ed Ecologia: le equazioni di Lotka-Volterra. - 20 Febbraio 2013
- Matematica – Scomposizione in fattori primi - 20 Febbraio 2013