Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Dracoscrigno_quello_VERO,
Prima di tutto un saluto sincero a tutta la comunity. Non sono solito partecipare attivamente perchè non credo di essere ancora pronto ma vi leggo spesso :)
Benvenuto alla Community.
Sebbene tu affermi il contrario, è evidente, nel mio giudizio, che tu abbia già una conoscenza dell'IDE di VBA che superi quella di molta gente!
Ho deciso di scrivere perchè non trovo documentazione specifica all' argomento che sto per esporvi ed anche se ho gia le idee molto chiare a riguardo, sono alla ricerca di ulteriori conferme.
Se poteste aiutarmi nella ricerca ve ne sarei molto grato.
Aprendo l' IDE di Visual Basic per le Applicazioni, attraverso menu -> visualizza finestra progetto (nel caso non sia gi avisualizzata), si è mostrato l' albero del progetto.
Si vedo, in alto, i vari fogli, il workbook; poi sotto, separati in una loro "cartella" ci sono gli eventuali moduli standard, gli eventuali USerform ed infine, i vari moduli di classe dove sono definite le nostre classi personali.
La differenza tra modulo standard e Fogli del workbook ma anche dello stesso workbook, a me sembrano lampanti:
i fogli ed il workbook del progetto sono oggetti mentre il la mia classe personalizzata è un modulo di classe, una classe, un modello pronto a diventare un oggetto nel momento in cui lo istanzierò.
Quindi differente dai fogli, i workbook e gli userform che vedo piùin alto.
Potreste confermarmi o smentirmi questa visione d' inisieme?
Credo che i temi sollevati da te siano alquanto ampi e meglio affrontati da un buon libro - come ad esempio (in inglese):
Excel Power Programming with VBA
di John Walkenbach.
http://spreadsheetpage.com/index.php/book/C45/
Tuttavia, mentre non sono del tutto d'accordo con l'analisi effettuata da te in materia, molto brevamente, e solo grattando la superficie del tema, vorrei offrire le seguenti osservazioni per considerazione.
Ogni elemento visualizzato nella finestra progetto rappresenta un oggetto VBA. Dal momento in cui si inserisce un modulo di classe in un progetto, il modulo di classe esiste come un oggetto. L'unico scopo di un modulo di classe è di agire come un contenitore per le classi. In VBA, un modello classe può comprendere solo una classe.
Una classe è un modello per la creazione di un oggetto e l'unica cosa che si può fare con un modulo di classe è quello di creare un oggetto da esso. La differenza tra una classe e un oggetto è che la classe non può eseguire alcuna azione e non consuma memoria. Un oggetto può essere creato dall'istanziazione di una classe e l'oggetto creato può essere qualunque cosa che può essere concettualizzato, Una classe è definita dalle sue Property, che descrivono gli attributi della classe, ei suoi metodi (Sub e Function).
Per quanto riguarda la differenziazione enunciata da te tra i moduli di classe e altri oggetti che possono essere visualizzate nella finestra progetto, vorrei far notare che i moduli degli oggetti ThisWorkbook, i fogli di lavoro, i fogli grafici e le Userform sono tutti esempi di moduli di classe!
In conclusione, vorrei esortarti di proseguire e approfondire la tua comprensione con l'acquisto di un buon libro!
Alla prossima!
Postscriptum:
Ti consiglierei successivamente anche l'ottimo libro
Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft Excel, VBA, and .NET: The Definitive Guide to ... and VBA (Addison-Wesley Microsoft Technology)
di By Rob Bovey, Stephen Bullen, John Green, Dennis Wallentin
https://www.amazon.co.uk/Professional-Excel-Development-Applications-Addison-Wesley/dp/0321508793
Da questo libro, vedi il seguente articolo:
Using Class Modules to Create Objects
**http://www.informit.com/articles/article.aspx?p=1346864**
===
Regards,
Norman