Guide e Tutorials:indexed | ||||||||||||
Lavorare con gli oggetti Word (settima parte) Come già visto nelle lezioni precedenti, i requisiti fondamentali per poter interagire con gli oggetti di Word sono due: avere installato una copia di Microsoft Word ed aver precedentemente caricato la libreria oggetti di Word 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 Word Object Library per poter utilizzare tutti gli oggetti di cui la libreria in questione si compone. Eccoci alla settima lezione del corso di Visual Basic per Word. La volta scorsa abbiamo visto come individuare gli errori grammaticali di un testo inserito in una textbox. Come già vi sarete accorti, abbiamo usato un procedimento estremamente semplice ma altrettanto efficace: abbiamo riportato un testo scritto in un programma "fatto in casa", in un documento Word, e, utilizzando poi il procedimento inverso, abbiamo trasferito al programma i dati relativi agli errori individuati da Word nel documento di nuova creazione. Naturalmente, sarebbe possibile (e forse anche più semplice a livello di realizzazione) prendere il file contenente il dizionario utilizzato da Word e scrivere un programma con Visual Basic che dica: "per ogni parola che l'utente ha immesso nel testo, vado a controllare se è contenuta nel dizionario...". Tutto questo, come già detto, è possibile ma estremamente lungo da far elaborare ad un processore casalingo. Quest'oggi quindi ci spingiamo leggermente più in là, andando a utilizzare nel nostro progetto la stessa finestra di dialogo che Word apre per eliminare o correggere l'errore grammaticale o ortografico contenuto in una parola. Ma cominciamo con ordine: il suggerimento è quello di sostituire il controllo textbox con un controllo richtextbox in modo da poter modificare a piacimento i tipi di caratteri del testo. Vogliamo infatti segnalare all'utente direttamente sul testo scritto le parole errate, sottolineandole o barrandole a seconda che presentino errori di grammatica o di ortografia. La modifica del controllo non porterà a grossi cambiamenti nel codice in quanto, seguendo il listato presentato alla fine della sesta lezione, basterà modificare l'istruzione:
nella seguente istruzione:
e con questa piccola modifica indolore, potremo proseguire col nostro intento di sottolineare le parole errate. Apriamo a questo punto una piccola parentesi. Mentre Word riconosce in modo automatico il numero di parole contenute in un testo, una semplice richtextbox non sa fare altrettanto, e perciò si limita a lavorare coi caratteri (questo significa che non esiste la proprietà word da poter utilizzare). Così ci dovremo adeguare, trasformando in caratteri le parole che ci interessano. Facciamo un esempio. La nostra applicazione riconosce un errore grammaticale nel testo: Prima di nascere stavo meglio. e parecchio, anche! Come si nota subito, dopo il primo punto, è d'obbligo la lettera maiuscola, che invece manca. Word ci dice subito che la parola errata è "e", ma la povera richtextbox non può ragionare in questi termini. Bisogna allora sommare tutti i caratteri scritti prima della parola. Questo numero ci darà l'indicazione della posizione del primo carattere della parola errata. Dichiariamo allora la variabile che rappresenta il totale dei caratteri fino alla parola errata inclusa:
tale dichiarazione andrà inserita nelle dichiarazioni della sottoprocedura ControlloOrtografico. Fatto ciò dobbiamo rientrare all'interno del ciclo:
e di seguito, ancora prima di individuare se l'errore è grammaticale o ortografico, dobbiamo calcolare i caratteri:
Ora individuiamo il caso in cui sia stato individuato un errore grammaticale, nella fattispecie:
Tra l'istruzione sopra e End If che chiude il ciclo, inseriamo queste tre lineee di codice:
delle quali la prima ci dice che la sottolineatura deve iniziare dal numero di caratteri sommati fino alla parola grammaticalmente errata compresa, la seconda indica che la lunghezza della sottolineatura deve essere pari alla lunghezza della parola errata e la terza opera la sottolineatura vera e propria. Una cosa simile può essere fatta anche per gli errori ortografici, usando l'accorgimento di modificare il tipo di segnalazione: se prima abbiamo utilizzato la sottolineatura, adesso individuiamo l'errore tramite una riga (la cosiddetta StrikeThru). Andiamo allora all'ipotesi in cui ci sia un errore ortografico:
e aggiungiamo le tre linee di codice:
Adesso gli errori dovrebbero essere rilevati in modo distinto. Non sarà quindi più tanto utile la finestra di messaggio che elenca le parole errate. Per ora la terremo ancora buona, ma terminato il lavoro la elimineremo. Arriviamo finalmente all'apice della lezione ed alla fase forse più interessante: richiamiamo la stessa finestra di dialogo utilizzata da Word per eliminare o modificare le parole errate dal punto di vista grammaticale e/o ortografico. Basterà aggiungere questa linea:
di cui parleremo in maniera estesa la prossima lezione. Riassumiamo velocemente il codice e concludiamo così la lezione:
Anche stavolta l'esempio da scaricare non c'è poichè i controlli presenti sulla form sono gli stessi. Basterà quindi copiare e incollare il listato qui sopra per aggiornare l'applicazione. Alla prossima lezione, allora! |
Archivio: | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |