http://digilander.libero.it/Cenati Numera Righe |
home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript |
|
|
|
|
|
Numera le righe ma non solo Avete un testo, un programma, un elenco e volete numerarne le righe? Questo semplice script prende il file che viene passato come parametro (trascinandolo sull'icona del programma) e lo mostra in una pagina di Internet Exporer aggiungendo un numero prima di ogni riga. La numerazione parte da 001: Come in altri script che ho pubblicato, all'inizio controllo se ci sono dei files passati al programma. Se non trovo nessun argomento mostro il funzionamento dello script. Se trovo un file, lo apro e creo un vettore che contiene le righe (usando Split divido il testo dove trovo dei ritorni a capo). Per mostrare le righe in internet explorer devo sostituire i "<" con l'equivalente in html "<", così come ">" deve essere sostituito con ">". Se non lo faccio, i segni di > e di < vengono interpretati come tag html e alterano la visualizzazione del testo. Ma questo programma può servire, se modificato, anche a fare molte altre cose. Basta cambiare la riga che produce l'output, ad esempio mettendo doc1.writeln(ucase(riga(i)) per ottenere il testo tutto in maiuscole. Oppure si possono fare altre elaborazioni sul testo, come scartare una parte di ogni riga, oppure eliminare le righe doppie, o codificare in qualche modo il documento letto. Copia il programma riportato qui sotto in un file con estensione ".vbs" oppure scarica l'archivio zip contentente lo script. '************************************************ ' File: Numera Righe.vbs (VBScript) ' Author: Giovanni Cenati ' http://digilander.libero.it/Cenati ' Codice liberamente utilizzabile citando il sito. ' Mostra in una pagina di IE il file di testo ' trascinato sopra l'icona dello script ' anteponendo ad ogni riga un numero progressivo. ' E' utile per fare il debug dei file vbs. '************************************************ Set objArgs = WScript.Arguments 'Vedo se c'è un agrogmento passato allo script if objargs.count<>1 then 'altrimenti mostro come si usa il programma msgbox "Trascinare un file sul programma per ottenere la numerazione delle righe",&_ vbinformation+vbokonly,"Numera Righe by Cenati Giovanni" wscript.quit end if path = objArgs(0) 'questa variabile contiene il nome del file da leggere ' Crea l'oggetto FileSystemObject Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set oFile = fso.OpenTextFile(path) 'punto al file da aprire testo = oFile.ReadAll 'lo leggo tutto oFile.Close 'e chiudo il file 'Creo un vettore di tutte le righe del file riga = Split(testo, vbCrLf) ' Lancia Internet Explorer per mostrare i risultati. Set oIE = WScript.CreateObject("InternetExplorer.Application") oIE.navigate "about:blank" ' documento vuoto ' Importante: aspetta che Internet Explorer sia pronto Do While (oIE.Busy) WScript.Sleep 200 ' Sospende per 200 millisecondi. Loop oIE.Visible = 1 ' Internet Explorer è visibile. oIE.ToolBar = 1 ' ed ha la toolbar così è presente il pulsante "stampa" oIE.Height = 500 set doc1 = oIE.Document ' Punta al documento... doc1.open ' ...lo apre ' Scrive le intestazioni html ed il testo con il nome del file passato come parametro doc1.writeln("<html><head><title>" & path & "</title></head>") doc1.writeln("<body bgcolor='#FAF0F0'><pre>") for i=0 to ubound(riga) riga(i)=Replace(riga(i), "<", "<") riga(i)=Replace(riga(i), ">", ">") doc1.writeln(right("0000"&i+1,4) & ": " & riga(i)) ' questo è l'output next doc1.writeln("</pre></body></html>") doc1.close ' Chiude il documento, che rimane sullo schermo '*** Fine programma - Numera Righe.vbs Giovanni Cenati
|
|
|
|
© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com
|
|