Il blog di Gianni Giaccaglini

Blog su VBA e VSTO
Gianni Giaccaglini

My Links

News

NB - V. anche gli ARTICOLI (in fondo a questa barra)
Solo quesiti validi a: giannigiac@tin.it
Il mio Best seller su VBA
(v. www.hoepli.it)


Il mio ultimo libro su Open XML
(v. www.FAG.it):



La mia nipotina ELISA

Foto con dedica a ME di
Bill Gates giovanissimo
nei mitici anni 80!

Categorie Post

Categorie Articoli

Archivio

Immagini

Blog Stats

Quando va usata l'istruzione QUIT?

Chiarimento ultrarapido per beginner.

Un visitatore mi ha chiesto come si fa a chiudere, putacaso, Excel quando una macro è terminata e il file .XLS viene chiuso con ActiveWorkbook.Close.

La risposta è facile: Application.Quit. Se poi si fa precedere tale istruzioni da una Application.DisplayAlerts = False Exce viene chiuso insalutato ospite- utente!  L'occasione tuttavia si presta a una veloce riflessione pragmatica. Non c'è motivo, tranne il sadismo, per far sparire Excel al povero utente finale, che invece nel 99% dei casi desidera continuare a lavorare col programma del cuore. Diverso però è il caso in cui si richiama, poniamo, Excel e/o un file .xls, dall'interno di un altro applicativo, putacaso Word (o un eseguibile .EXE) tramite OLE Automation. In tal caso l'abbandono di Excel con Quit è necessario, per tornare a lavorare con Word, programma chiamante e col quale si suppone che la macro prosegua e/o l'utente continui a lavorare.

Dimenticavo: un discorso del tutto analogo vale qualora si sfrutti un legame ipertestuale (Hyperlink) che richiami un certo documento relativo a un diiverso applicativo MS Office. Facciamo un esempio. In un modello Bilancio.XLS si abbia un hyperlink del genere, di nome "Rapporto" (*) che guida a un documento Word Report.doc (posto in una precisa cartella di file, meglio se la stessa in cui giace il "chiamante" Bilancio.XLS. Le istruzioni seguenti, connesse a un qualche pulsante ad hoc, potrebbero servire a lanciare Report.doc attivando Word e (se del caso, ovviamente) abbandonare Excel:

Activesheet.Hyperlinks("Report").Follow 'Lancia l'hyperlink
Application.Quit 'Chiudi Excel

Nota (*) - Il nome di un hyperlink è quello indicato nella casella "Testo da visualizzare". In alternativa, si può ricorrere all'indice numerico, del tipo Hyperlinks(1), Hyperlinks(2) ecc. 

posted on lunedì 30 gennaio 2006 12.26