{"id":239,"date":"2013-02-19T23:50:21","date_gmt":"2013-02-19T22:50:21","guid":{"rendered":"http:\/\/www.office-guru.com\/wordpress\/?p=239"},"modified":"2015-04-05T10:49:51","modified_gmt":"2015-04-05T08:49:51","slug":"la-classe-non-e-acqua-un-suggerimento-sulla-programmazione-ad-oggetti","status":"publish","type":"post","link":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/la-classe-non-e-acqua-un-suggerimento-sulla-programmazione-ad-oggetti\/","title":{"rendered":"La &#8220;classe&#8221; non \u00e8 &#8230; acqua: un suggerimento sulla programmazione ad oggetti"},"content":{"rendered":"<div style=text-align:right;><a class=\"wpptopdfenh\" target=\"_blank\" rel=\"noindex,nofollow\" href=\"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/la-classe-non-e-acqua-un-suggerimento-sulla-programmazione-ad-oggetti\/?format=pdf\" title=\"Download PDF\"><img alt=\"Download PDF\" src=\"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/plugins\/wp-post-to-pdf-enhanced\/asset\/images\/pdf.png?w=584\" data-recalc-dims=\"1\"><\/a><\/div><p>Il piccolo file allegato vuole mostrare l\u2019uso un po\u2019 pi\u00f9 sofisticato che si pu\u00f2 realizzare in Excel all\u2019interno di Vba. Infatti abbiamo mostrato come si realizza una piccola classe: la classe Quadrato. Un ottimo lavoro nell\u2019ambito mi sembra quello di Emanuele Mattei nel suo blog:<a href=\"http:\/\/blog.shareoffice.it\/emanuele\/articles\/9973.aspx\">http:\/\/blog.shareoffice.it\/emanuele\/articles\/9973.aspx<\/a>\u00a0ma \u00e8 indicato soprattutto per Vb.Net e C#. Invece la programmazione ad oggetti pu\u00f2 aver luogo anche in Vba e in particolare in Excel. Il file mostra come si pu\u00f2 calcolare l\u2019area di un quadrato in vari modi: con le formule, con una piccola macro, con una classe. L\u2019ultimo modo \u00e8 certamente il pi\u00f9 complicato, ma come esempio di costruzione di una classe deve essere visto al di l\u00e0 dei risultati immediati. In realt\u00e0 per apprezzare i vantaggi nell\u2019utilizzo delle classi bisogna scrivere codice. La nostra classe rappresenta sostanzialmente un quadrato geometrico: specificando il lato che viene memorizzato e che pu\u00f2 essere letto e variato, rimangono fissate le propriet\u00e0 conseguenti: diagonale, area, perimetro. Inoltre, come detto, il nostro quadrato possiede due \u201cmetodi\u201d non euclidei: pu\u00f2 essere ingrandito o rimpicciolito di una percentuale fissata. Una volta compiuto il lavoro di implementazione della classe vediamone l\u2019uso: per prima cosa si deve creare un\u2019istanza nel nostro programma con l\u2019istruzione: Dim Q As New Quadrato. In questo modo si fa sapere ad Excel che Q \u00e8 un \u201coggetto\u201d della classe quadrato. Questa istruzione deve essere fatta per prima. Quindi abbiamo realizzato due piccole routines: la prima calcola l\u2019area 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\u00f9 interessanti accadono nell\u2019Ide. Vediamo nell\u2019immagine seguente come si comporta Vba quando scriviamo Q. dopo aver dichiarato che fa parte della classe Quadrato.<\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/i1.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/Ide.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-240\" src=\"https:\/\/i1.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/Ide.jpg?resize=190%2C212\" alt=\"Ide\" width=\"190\" height=\"212\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p style=\"text-align: left\">Vba correttamente ci indica quali metodi e propriet\u00e0 possono essere applicate a Q.<\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/Quadrato.zip\">Quadrato<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il piccolo file allegato vuole mostrare l\u2019uso un po\u2019 pi\u00f9 sofisticato che si pu\u00f2 realizzare in Excel all\u2019interno di Vba. Infatti abbiamo mostrato come si realizza una piccola classe: la classe Quadrato. Un ottimo lavoro nell\u2019ambito mi sembra quello di &hellip; <a href=\"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/la-classe-non-e-acqua-un-suggerimento-sulla-programmazione-ad-oggetti\/\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"_links_to":"","_links_to_target":""},"categories":[5,6],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p39IU1-3R","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1922,"url":"https:\/\/www.office-guru.com\/wordpress\/2017\/11\/elencare-i-nomi-degli-oggetti-di-excel\/","url_meta":{"origin":239,"position":0},"title":"Elencare i nomi degli oggetti di Excel","date":"2 Novembre 2017","format":false,"excerpt":"A volte capita di avere a che fare con molti oggetti su un oglio di Excel quali linee, rettangoli, cerchi, frecce e volerli manipolare. Il metodo semplice \u00e8 di assegnare ad ogni oggetto un nome e successivamente manipolarlo in VBA attraverso le propriet\u00e0 dell'oggetto. In VBA per \"indirizzare\" un oggetto\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2017\/11\/Excel-Group-Command.png?fit=276%2C236&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":101,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/vba-macro-eseguire-una-macro-automaticamente-allapertura-del-foglio-excel\/","url_meta":{"origin":239,"position":1},"title":"VBA Macro: eseguire una macro automaticamente all&#8217;apertura del foglio Excel","date":"7 Febbraio 2013","format":false,"excerpt":"Pu\u00f2 capitare di volere eseguire una macro all'apertura di un foglio excel in modo automatico. Ad esempio si vuole che la pivot table che \u00e8 presente nel foglio sia sempre aggiornata oppure che venga aggiornato il fornitore di dati esterno. Per poterlo fare bisogna programmare l'evento\u00a0che Excel esegue all'apertura di\u2026","rel":"","context":"In &quot;Macro&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/esegui_macro_avvio-1.gif?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":866,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/copiare-directory-tramite-vba\/","url_meta":{"origin":239,"position":2},"title":"034. Copiare Directory tramite VBA","date":"17 Gennaio 2014","format":false,"excerpt":"Domanda: Buon 2014 a tutti, avrei la necessit\u00e0 di realizzare una macro in Excel (VBA) per copiare una directory: percorso \u2013 C:\\DATI La cartella (directory) contiene 15 file .doc, dopo aver copiato la directory deve essere incollata nel desktop. Risposta: Per copiare una directory in un\u2019altro percorso, pu\u00f2 utilizzare i\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":97,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/vba-macro-come-abilitare-le-macro-vba-in-excel\/","url_meta":{"origin":239,"position":3},"title":"VBA Macro: Come abilitare le Macro VBA in Excel","date":"7 Febbraio 2013","format":false,"excerpt":"Se le Macro VBA (anche quelle scaricate da questo sito) non funzionano probabilmente ci\u00f2 \u00e8 dovuto alla protezione di Excel. Poich\u00e9 ci sono alcune macro che possono essere potenzialmente pericolose, Excel permette di gestire pi\u00f9 livelli di protezione. Quando viene installato il livello di protezione \u00e8 sempre \"Alto\" che significa\u2026","rel":"","context":"In &quot;Macro&quot;","img":{"alt_text":"","src":"https:\/\/i1.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/abilita-macro1-300x252.gif?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":699,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/08\/copiare-file-con-vba\/","url_meta":{"origin":239,"position":4},"title":"023. Copiare File con VBA","date":"7 Agosto 2013","format":false,"excerpt":"Domanda: Ho una colonna di Excel dove sono riportati una lista di files (comprensivi di percorso) e in un\\'altra colonna il nome di questi files (con percorso destinazione) che integrano nel nome alcune cose. Il problema \u00e8: con VBA come faccio a realizzare una istruzione che mi copi i files\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1902,"url":"https:\/\/www.office-guru.com\/wordpress\/2017\/10\/cambiare-settaggi-vba-per-eseguire-macro\/","url_meta":{"origin":239,"position":5},"title":"Cambiare settaggi VBA per eseguire MACRO","date":"24 Ottobre 2017","format":false,"excerpt":"Succede spesso che le macro in excel non vengano eseguite come ci si aspetta. spesso il problema nasce dal settaggio per eseguire le macro dal centro di controllo di Excel. qui un semplice video che mostra come modificare tali settaggi ed far eseguire le macro Excel. Personalmente consiglio il terzo\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"https:\/\/i2.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2017\/10\/settings-VBA.png?fit=1015%2C759&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/239"}],"collection":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/comments?post=239"}],"version-history":[{"count":5,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/239\/revisions"}],"predecessor-version":[{"id":1474,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/239\/revisions\/1474"}],"wp:attachment":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media?parent=239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/categories?post=239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/tags?post=239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}