Inserimento
delle funzioni nel modulo macro |
Ciò
che adesso si andrà a fare sarà il riempimento
del modulo di codice denominato ModuloMacro. Com'è
già stato anticipato si andrà a definire alcune
funzioni che avranno lo stesso nome di alcune delle funzioni
standard di Word.
In tal modo l'applicazione sostituirà le funzioni predefinite
con le nuove, senza però eliminare permanentemente
le prime.
Come esempio si consideri lo scenario prospettato nel corso
dell'articolo precedente e non ancora completamente sviluppato:
si desidera creare un report che inserisca in un nuovo documento
un determinato titolo ed un testo, senza che l'utente finale
abbia la possibilità ad esempio di salvare il documento
come pagina Web. Questo caso è puramente casuale e
si può facilmente estendere a qualsiasi altro evento.
Per
ottenere questo risultato sarà sufficiente utilizzare
il metodo InsertLines come mostrato sotto:
NewModule.CodeModule.InsertLines
1, "Sub FileSalvaComePaginaWeb()" & _
vbCrLf & "'funzione Salva come pagina Web"
& vbCrLf & _
"Msgbox ""Funzione disabilitata"""
& vbCrLf & _
"'" & vbCrLf & "End Sub" |
L'intero
che segue il metodo InsertLines indica il numero di linea
sulla quale andare a scrivere la funzione o qualsiasi altro
testo, mentre il testo che segue l'intero è ciò
che si desidera inserire nel modulo di codice.
Come si può notare facilmente è stata riprodotta
in formato testuale la struttura delle funzioni tipiche di
Visual Basic.
Per averne una conferma sarà sufficiente aprire l'editor
di codice VBE. Si otterrà un risultato simile a quello
mostrato in figura:
Quando
l'utente tenterà di salvare il documento come pagina
Web otterrà come unico risultato una finestra di messaggio
che lo avverte dell'impossibilità di utilizzare la funzione
scelta.
NOTA: una volta inserite le funzioni nel modulo di codice
queste rimangono di proprietà del documento. La chiusura
dell'applicazione Visual Basic dalle quali sono state generate
non significa pertanto l'eliminazione di tali funzioni dal documento.
Queste funzioni create appositamente possono poi risultare
utili per evitare il prompt che richiede il salvataggio del
lavoro alla chiusura della sessione o del documento: basterà
sostituire alla funzione FileSalvaComePaginaWeb una qualsiasi
funzione di Word elencata nell'editor di Macro come già
visto in precedenza.
E'
poi possibile creare una macro da eseguire in determinate
occasioni. Ad esempio si potrebbe pensare ad una funzione
che, all'apertura del documento Word visualizzi una finestra
di benvenuto.
Sarà necessario innanzitutto creare la macro. A tale
scopo si può pensare a qualcosa di questo genere:
NewModule.Codemodule.InsertLines
1, "Sub Benvenuto()" & _
vbCrLf & "'funzione di benvenuto" &
vbCrLf & _
"Msgbox ""Benvenuto "" &
application.UserName & ""."""
& vbCrLf & _
"'" & vbCrLf & "End Sub" |
Il messaggio visualizzerà pertanto il testo "Benvenuto"
seguito dall'utente nel nome del quale è stata registrata
l'applicazione Word.
E' poi sufficiente richiamare in qualsiasi punto si desideri
dell'applicazione Visual Basic il metodo Run come mostrato di
seguito:
per
visualizzare il messaggio di benvenuto.
Il metodo Run ha dalla sua parte una lunga lista di argomenti
(per la precisione ben 31). Il primo è predefinito
e corrisponde al nome della macro che si desidera avviare.
Dal parametro 2 al parametro 31 si possono definire a scelta
i valori parametro di tipo Variant da passare alla funzione.
|