http://digilander.libero.it/Cenati

Introduzione al sito

home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript |

 

 

 

 

Questo sito, è bene dirlo subito, non contiene codice Visual Basic, bensì script in VbScript (Visual Basic Scripting Edition). Ed in particolare dei programmi da utilizzare nell'ambiente Windows. Non contiene, salvo alcuni casi, codice lato client o server per realizzare pagine web dinamiche. Questa possibilità di scrivere delle "macro" a livello di sistema operativo è stata chiamata "Windows Script Host" e comprende due linguaggi di programmazione interpretati forniti insieme a Windows: VbScript e JScript.

JScript è simile al JavaScript di Sun, mentre VbScript eredita la propria sintassi dal fratello maggiore Visual Basic. Di fatto però le funzionalità sono quasi coincidenti e ciò che varia è solo il nome la sintassi delle istruzioni.

I due linguaggi sono "interpretati". Ciò significa che ad ogni singolo avvio c'è un programma che legge lo script e lo esegue traducendolo in codice macchina. Per scrivere uno script in VbScript o in Jscript è necessario solo il Blocco Note, quindi un qualsiasi editor di testi. Questo significa anche che il proprio lavoro è visibile agli occhi di tutti e può essere di conseguenza modificato da chiunque. Questo non accade con i linguaggi "compilati", con i quali si utilizza un programma dal quale non è possibile risalire facilmente al codice che lo ha generato.

Il codice vbscript può essere usato anche nelle pagine html per renderle "dinamiche", cioè per fare in modo che premendo dei pulsanti sullo schermo accada qualcosa. Nelle pagine html ci sono alcune restrizioni di sicurezza, ad esempio per fare in modo che una pagina web non possa nuocere ai file presenti sul disco fisso. Ma cambiando l'estensione da html a hta otteniamo una HTML Application che non soggiace a queste limitazioni di sicurezza. In questo sito ci sono anche alcuni programmi scritti in questo modo, principalmente per unire la potenza di programmazione del VbScript ad uno strumento che offre una buona interfaccia utente.

Per fare una breve digressione, voglio ricordare che il mio primo computer aveva il basic incorporato. Poi il DOS aveva solo uno scarno linguaggio batch che permetteva ben poche cose. In seguito, con Windows, il batch era del tutto inadeguato per utilizzare i programmi a finestra. Ed ecco che, non senza difficoltà, è ritornato un basic con un set di comandi che permette di aprire applicazioni in finestra e di inviargli comandi.

Buona parte del materiale pubblicato qui deriva da una esperienza aziendale. Di fatto dalla necessità o volontà di automatizzare determinate operazioni ricorrenti. Nella maggior parte delle aziende di medie e grandi dimensioni c'è il divieto di installare qualsiasi genere di programma non approvato da una specifica struttura. Ciò esclude naturalmente i programmi per i quali l'azienda è priva della necessaria licenza, ma anche i programmi freeware o i programmi scritti in proprio dai dipendenti per risolvere qualche esigenza particolare. Un caso può essere la piccola applicazione per verificare il codice fiscale, che ormai si trova in varie versioni.

Questo ha portato molti a sviluppare delle applicazioni più o meno complesse utilizzando il macrolinguaggio della suite MS Office, il VBA (Visual Basic for Application). Ho visto fogli elettronici di Excel pieni di pulsanti e di macro per svolgere compiti particolari non previsti dalle applicazioni aziendali standard.

Il VbScript permette di aggiungere qualcosa che manca al VBA. Con VbScript i programmi vengono lanciati direttamente da Gestione Risorse e possono utilizzare con relativa semplicità alcuni altri programmi installati nel sistema. Ad esempio si può utilizzare il MediaPlayer dall'esterno, chiedendogli di suonare una canzone per noi oppure domandandogli di leggere il nome dell'autore di determinati files mp3 presenti su di un disco (ciò che fa un programma qui pubblicato...). Un altro esempio è quello di pilotare Internet Explorer per fargli visitare una serie di pagine elencate in un file di testo (altro programma presente nella home page). Con questi esempi voglio mettere in evidenza che nè MediaPlayer né Internet Explorer hanno un proprio linguaggio di scripting come Excel, ma sono ugualmente gestibili perchè hanno un modello ad oggetti pubblico al quale un programma VbScript può collegarsi per fargli compiere delle operazioni. In più, è possibile attivare programmi più complessi come Excel e Word, riempirli di dati e utilizzarne delle funzioni specifiche.

Alcuni programmi di questo sito sono stati scritti come sfida personale, per la volontà di fare da soli una cosa che, volendo, può fare - spesso meglio - un programma scritto da altri. Ricordo un brano pubblicato nel 1990 su MCmicrocomputer che raccontava proprio del ritrovamento, in un futuro lontano, di un programma chiamato "linguaggio di programmazione" che poteva permettere di scrivere dei propri programmi. Che anche se non potevano competere con gli ottimi e completi "scrivi" o "calcola", davano quell'euforia dell'aver scritto da sè del codice funzionante.

Alcuni script sono stati invece determinati da un problema aziendale da risolvere. Magari richiesti da esigenze di alcuni utenti che volevano fare qualcosa di inconsueto. A questo proposito ricordo che un utente voleva sommare tutti i numeri in grassetto di una colonna. Cosa alla quale neppure il più fantasioso programmatore di Excel, alla Microsoft, aveva pensato.

Altri sono nati dalla necessità personale di fare qualcosa che nessun altro programma riesce a fare. Una necessità di nicchia, ovviamente, ma pur sempre una necessità da soddisfare.

La conoscenza di VbScript in Italia è drammaticamente bassa. I Webmaster lo conoscono per la programmazione di IIS, il server di pagine web di Microsoft. Pochi lo usano dal lato client, in quanto è supportato solo da Internet Explorer. Molto meglio usare JavaScript, supportato anche da altri Browser. Per la programmazione di Windows in VbScript esistono pochi testi specifici, mentre la maggior parte dei testi che accennano alle capacità di Windows Script Host liquidano l'argomento in poche pagine lasciando una curiosità difficile da soddisfare.

Uno dei vantaggi che apprezzo nello scrivere codice VbScript è quello di avere dei files molto compatti che permettono di fare ciò per il quale a volte servono applicazioni di alcuni megabyte. Semplicemente perchè le stesse funzioni sono già incorporate in Windows o in altri programmi. E' necessario solo chiedergli di farlo per noi. Questi script non hanno necessità di "installazione", quindi non necessitano di privilegi di amministrazione per poterli utilizzare. Altrettanto semplicemente, quando non servono più possono essere cancellati senza lasciare traccia nel sistema. Cosa che negli ultimi anni è da considerare una rara eccezione.

Infine, spesso questo genere di script sono molto utili in reti aziendali in quanto tutti i posti di lavoro hanno un medesimo corredo di software e le stesse impostazioni di configurazione. Quindi su tutte le macchine ci sarà, ad esempio, una cartella condivisa con il nome "DatiCondivisi", su tutti ci sarà Internet Explorer alla stessa versione, ecc. Questo semplifica molto la stesura di codice ad hoc per l'azienda, perchè si può fare riferimento a determinati programmi o directory con la certezza che ciò che cerchiamo è veramente lì.

Nella speranza che il materiale qui contenuto vi sia di interesse, vi rimando alla home page e vi chiedo di scrivermi i vostri commenti.

Giovanni Cenati.

 

 

© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com

home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript