Guide e Tutorials:indexed | ||||||||||||||||||||
Lavorare con
gli oggetti Excel (decima parte) Come già visto nelle lezioni precedenti, i requisiti fondamentali per poter interagire con gli oggetti di Excel sono due: avere installato una copia di Microsoft Excel ed aver precedentemente caricato la libreria oggetti di Excel disponibile nella finestra di dialogo Riferimenti. Per una maggiore comprensione, la finestra si apre cliccando sulla voce Progetto del menu principale e selezionando dal menu Progetto che si aprirà, la voce Riferimenti che è quella accompagnata dall'icona dei libri. Basterà poi selezionare la voce Microsoft Excel Object Library per poter utilizzare tutti gli oggetti di cui la libreria in questione si compone. Un importante aspetto dell'utilizzo di applicazioni orientate a Microsoft Excel è la possibilità di un elevato livello di interazione con l'utente. Per questo motivo può risultare utile visualizzare l'intera cartella di lavoro in modalità Web ossia proprio come se fosse una pagina creata in HTML. Per far ciò è necessario utilizzare il metodo WebPagePreview la cui sintassi rispetta la seguente forma:
naturalmente il metodo è applicabile solamente ad una cartella di lavoro Excel e non ad esempio all'oggetto 'applicazione' nè ad un singolo foglio di calcolo. Se ad esempio popoliamo un Range con numeri casuali come già è stato visto e richiamiamo il metodo WebPagePreview, nel seguente modo:
il foglio di lavoro presenterà un Range A2,I9 popolato di numeri casuali compresi tra 10 e 90. Una volta richiamato il metodo WebPagePreview (in questo caso quindi all'apertura del foglio di lavoro) la pagina Web visualizzata sarà la seguente: Come si può notare la pagina viene creata come file temporaneo nella cartella "C:\WINDOWS\TEMP" ed ha lo stesso nome della cartella di lavoro con la quale si sta operando. Un altro metodo interessante è ColumnDifferences che calcola le differenze tra le celle di una colonna e una cella di riferimento. Quindi questo metodo rappresenta un confronto solo tra le celle di una singola colonna. Ad esempio se assegnamo alle celle della colonna A dei valori che vanno da 1 a 5 per le prime cinque celle, da 7 a 13 per le seconde 7 ed assegnamo il valore 1 alla sesta cella, possiamo determinare ad esempio quali celle sono differenti dalla cella A1 di valore 1. Il codice seguente ha proprio tale finalità:
Com'è facile immaginare le celle selezionate saranno quelle di valore diverso da 1 ossia: Esiste poi un metodo particolare che permette di creare una curva di Bézier che consente di disegnare una curva a mano libera ma con maggior precisione in quanto una volta definiti dall'utente i punti intermedi, l'applicazione ne calcola i punti intermedi. Una curva di Bèzier rappresenta un oggetto Shape di cui si parlerà in maniera più approfondita più in la con gli articoli. La sintassi del metodo AddCurve di cui si parla è la seguente:
dove l'unico parametro da indicare ossia SafeArrayOfPoints è la matrice di coppie di coordinate (x,y) che rappresentano i punti intermedi della curva. Il primo punto da specificare è il vertice di partenza mentre l'ultimo punto da specificare è il vertice di arrivo della curva. Ad esempio consideriamo una curva come quella mostrata in figura: il codice da utilizzare sarà il seguente: La sintassi del metodo AddCurve di cui si parla è la seguente:
In pratica abbiamo dichiarato la matrice pts. La notazione 1 To 4 indica che si vogliono memorizzare in tale matrice quattro punti della curva mentre la notazione 1 To 2 indica invece che di questi quattro punti si vuole specificare le due coordinate X ed Y. Naturalmente sviluppare un grafico utilizzando una curva di Bézier è molto macchinoso ma può risultare divertente. Nell'esercizio proposto al termine dell'articolo si proverà a tradurre in grafico (o meglio in curva) dei numeri casuali.
|