Guide e Tutorials:indexed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lavorare con gli oggetti Word (ottava 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 giunti all'ottava parte del corso di Visual Basic per Word. Questa volta vedremo un aspetto di Word sicuramente molto divertente: l'Assistente di Office. Essendo denominato "Assistente di Office" e non "Assistente di Word", sarà necessario compiere delle piccole operazioni prima di poter utilizzare l'oggetto. E' infatti pressochè impossibile dichiarare un assistente di Word, in quanto non esiste l'oggetto in sè. Viene mutuato dalla libreria di Office. Dunque, riprendendo più o meno i caratteri essenziali delle lezioni precedenti, creiamo un piccolo progetto con tutte le funzionalità di base che c'interessano. Innanzitutto deve poter aprire una nuova applicazione Word ed un nuovo documento Word nel momento in cui il nostro programma Visual Basic sarà avviato. Creeremo quindi gli oggetti cari al motore grammaticale che abbiamo analizzato in precedenza (objWord, che identifica una nuova applicazione Word ed objDoc che sta ad indicare un nuovo documento della sessione di Word). Dichiariamo quindi objWord in questo modo:
ed objDoc in questo:
Questo significa che potremo lavorare con questi due oggetti, che in realtà sono molto meno astratti di quanto sembra. Il termine Application infatti non è qualcosa di etereo come può far credere. L'oggetto applicazione è la nuova sessione di Word aperta, senza alcun documento caricato. Si può pensare che allora objWord sia Word senza nessun documento a disposizione. Il termine Document è invece molto più semplice da intuire in quanto rappresenta il documento bianco che si apre quando si seleziona la voce "Nuovo" (oppure quando si carica un documento preesistente). Torniamo all'Assistente. Il passo in più da compiere rispetto al progetto Motore Grammaticale che per varie lezioni è stato il nostro oggetto di studio è quello di caricare la libreria di oggetti di Office. Per far questo, cliccare su Progetto, quindi selezionare la voce Riferimenti. Scorrere la finestra delle librerie disponibili e scegliere "Microsoft Office x.0 Library". Contrassegnare la casella con un bel segno di spunta e dare l'OK alla finestra che quindi si chiuderà. Da ora l'oggetto "Assistente di Office" è a completa disposizione. Adesso sorge un problema ulteriore: dobbiamo creare un oggetto interno al nostro progetto che faccia parte della categoria degli "Assistenti di Office". Scegliamo un nome a caso, qualcosa di rappresentativo, come objAssistente. Dichiariamo objAssistente più o meno come abbiamo fatto per objWord e objDocument, ricordando stavolta di non richiamare la libreria di Word ma quella di Office:
Ricapitoliamo la sezione generale delle dichiarazioni della Form principale (nonchè unica), ricordando di aggiungere un (in)utile Option Explicit:
Ora che abbiamo a disposizione le dichiarazioni necessarie, apriamo una nuova sessione di Word e carichiamo al suo interno un nuovo documento. Nell'ipotesi in cui si voglia compiere queste due operazioni all'avvio della nostra applicazione, potremo inserire il blocco di codice all'interno dell'evento Load di Form1:
Che cosa abbiamo fatto? La prima linea rappresenta l'evento nel quale abbiamo inserito il codice, che corrisponde all'eventualità nella quale l'utente avvii l'applicazione (o meglio che la finestra Form1 venga caricata). La seconda linea dice al programma di creare una nuova sessione Word. Quando sentirete che il vostro computer sta lavorando vuol dire che è giunto a questa operazione. La terza linea apre un nuovo documento Word vuoto e lo posiziona dentro la finestra di Word appena creata. La quarta linea attiva il documento Word (cosa peraltro non necessaria in quanto essendo il documento corrente anche l'unico documento, sarà necessariamente sempre attivo). La quinta riga dice che objAssistente, facente parte della categoria degli "Assistenti di Office", non è un Assistente di Excel, o di qualsiasi applicazione Office, ma è un Assistente in modo specifico nonchè inequivocabile di Word. L'ultima riga di codice mostra l'assistente all'interno del documento. La proprietà Visible impostata su True non provoca nessuna animazione. L'Assistente comparirà dal nulla nella posizione predefinita all'interno del documento. Servirà adesso gestire l'evento secondo il quale l'utente chiude l'applicazione scritta in Visual Basic. Se infatti non viene contemplato l'evento o comunque non si imposta la chiusura di objWord, alla chiusura del progetto rimarrà aperta la sessione Word, se non si imposta la chiusura di objDoc, apparirà la finestra di messaggio che chiede se si ha intenzione di salvare o meno il documento. Allora scriviamo il seguente blocco di codice:
Che cosa si può far fare all'Assistente? Per impostare le animazioni dell'assistente, si può aggiungere questa linea di codice:
Dove **Animazione** è una delle seguenti possibili animazioni messe a disposizione da Word:
Terminato il lungo elenco di animazioni, vediamo come far aprire il fumetto. Col seguente codice si aprirà la ricerca di una parola nella guida di Word:
con queste linee invece si indicano le posizioni dell'assistente, nella fattispecie si danno le coordinate orizzontali e verticali
dove **X** sono le coordinata orizzontali e **Y** quelle verticali. |
Archivio:ndexed | ||||
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 |