VAI AGLI ARTICOLI

UICIECHI.IT: MARZO 2011 - Numero 3.

Come si crea una macro per formattare del testo.

Di Nunziante Esposito.

***************

Macro che, per esempio, servono per fare un copia ed incolla con del testo già formattato nelle news ed in altri documenti di un CMS.

Premessa: questa procedura serve a poter creare da soli delle macro che servono per impaginare i contenuti nelle news e in tutti i documenti che si possono pubblicare con ItCms Vigile, ma se si prova, potrebbero essere valide anche per altri CMS. Infatti, se non vogliamo perdere tempo a formattare il testo dopo aver fatto un copia ed incolla sul sito, nei campi editazione e nelle text area che servono a inserire i contenuti sul sito, possiamo preparare il testo prima in un documento di Microsoft Word e poi dopo averlo salvato in txt possiamo fare un copia ed incolla senza nessun problema. In questo modo, avremo il testo sulla pagina formattato con tutti i ritorni a capo, come abbiamo previsto.

Quando si eseguono delle operazioni ripetitive in un file di testo, tutti i word processor hanno la possibilità di istruire il programma in modo che crei una "Macro". Si tratta in effetti di una sorta di script che con un solo comando esegue tutte le operazioni che noi stabiliamo durante la creazione della macro stessa.

Ecco di seguito spiegato come si creano le due macro per le news e le altre impaginazioni nei moduli di ItCms con Microsoft Word.

Per prima cosa dobbiamo eliminare dal documento tutti gli spazi che precedono e seguono un paragrafo, quali rientri, tabulazioni ed altri tipi di spaziature lasciate talvolta da formattazioni di altri visualizzatori di testi, quali Browser di Internet o Mailer di posta, e soprattutto quando si fa il classico copia ed incolla.

Per fare ciò, prepariamo una prima macro per eliminare gli spazi e cercare di inserire una riga di spazio tra il titolo ed il primo paragrafo, una riga di spazio tra i paragrafi ed eliminare righe vuote se ce ne sono troppe.

Non tutte le versioni di Office sono uguali, ma per quello che dobbiamo fare, non dovrebbero esserci differenze sostanziali.

Di seguito è riportata la procedura di creazione di una macro che toglie tutti i ritorni a capo superflui e che formatta il testo in modo che ogni paragrafo che termina con un segno di punteggiatura e va a capo, sia terminato sempre con il segno di punteggiatura, ma con un doppio ritorno a capo.

Non è una bella cosa formattare il testo in questa maniera, ma è solo un espediente per preparare il testo che ItCms impaginerà in modo corretto e secondo le nostre esigenze.

Creazione macro 1: EliminaSpazi.

Questa macro oltre ad eliminare gli spazi, mette un doppio ritorno a capo dopo tutti i segni di punteggiatura che sono seguiti da un ritorno a capo.

1. Aprire word ed incollare del testo se non si apre un file già scritto.
2. Dal menu strumenti, scegliere macro.
3. Dal sottomenu, scegliere registra nuova macro e cliccare o premere invio.
4. Mettere il nome alla macro, per esempio, EliminaSpazi, e premere invio. Attenzione, non ci devono essere spazi nel nome della macro, quindi, per separare le parole, inserire la lettera maiuscola iniziale per ogni parola o segni come il sottolineato.
5. Siamo sul testo del documento aperto. Premere shift più control più S, per aprire il trova e sostituisci.
6. premere cinque volte la barra spazio.
7. Premere tab.
8. Premere una sola volta barra spazio.
9. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Dare il comando tre volte anche se non avvengono sostituzioni. Con questo comando, sostituiamo 5 spazi con un solo spazio.
10. Vengono effettuate le sostituzioni e si presenta una finestra con OK. Cliccare o premere invio.
11. siamo di nuovo su cerca e sostituisci. Dei 5 spazi iniziali, cancellarne uno con canc.
12. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Dare il comando tre volte anche se non avvengono sostituzioni. Con questo comando, sostituiamo 4 spazi con un solo spazio.
13. siamo di nuovo su cerca e sostituisci. Dei 4 spazi precedenti, cancellarne uno con canc.
14. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Dare il comando tre volte anche se non avvengono sostituzioni. Con questo comando, sostituiamo 3 spazi con un solo spazio.
15. siamo di nuovo su cerca e sostituisci. Dei 3 spazi precedenti, cancellarne uno con canc.
16. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Dare il comando tre volte anche se non avvengono sostituzioni. Con questo comando, sostituiamo 2 spazi con un solo spazio.
17. siamo di nuovo su cerca e sostituisci. Cancelliamo quello che troviamo e premiamo uno spazio, poi, shift più i accentata, per scrivere l'accento circonflesso e infine, scrivere una p minuscola. I caratteri saranno: spazio, accento circonflesso, e la lettera p minuscola.
18. premere tab e scrivere accento circonflesso e la lettera p minuscola.
19. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007.questo comando serve per cancellare gli spazi che sono prima di un ritorno a capo.
20. Siamo di nuovo su cerca e sostituisci. Cancelliamo lo spazio che precede l'accento circonflesso e lo digitiamo dopo la p, in modo da avere l'accento circonflesso, la lettera p e lo spazio.
21. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a cancellare gli spazi dopo un ritorno a capo, spazio ad inizio paragrafo.
22. Siamo di nuovo su cerca e sostituisci. Cancellare lo spazio dopo accento circonflesso p, e digitare un punto fermo prima di accento circonflesso p.
23. Premere tab e digitare il punto fermo e due volte accento circonflesso p, in modo da avere: punto, accento circonflesso p, accento circonflesso p.
24. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un doppio ritorno a capo, dopo un punto e a capo.
25. Siamo di nuovo su cerca e sostituisci. Cancellare il punto fermo prima di accento circonflesso p, e digitare un due punti prima di accento circonflesso p.
26. Premere tab e cancellare il punto fermo prima dei due accento circonflesso p, e digitare al suo posto il due punti, in modo da avere: due punti, accento circonflesso p, accento circonflesso p.
27. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un doppio ritorno a capo, dopo un due punti e a capo.
28. Siamo di nuovo su cerca e sostituisci. Cancellare il due punti prima di accento circonflesso p, e digitare un punto e virgola prima di accento circonflesso p.
29. Premere tab e cancellare il due punti prima dei due accento circonflesso p, e digitare al suo posto il punto e virgola, in modo da avere: punto e virgola, accento circonflesso p, accento circonflesso p.
30. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un doppio ritorno a capo, dopo un punto e virgola e a capo.
31. Siamo di nuovo su cerca e sostituisci. Cancellare il punto e virgola prima di accento circonflesso p, e digitare un punto esclamativo prima di accento circonflesso p.
32. Premere tab e cancellare il punto e virgola prima dei due accento circonflesso p, e digitare al suo posto il punto esclamativo, in modo da avere: punto esclamativo, accento circonflesso p, accento circonflesso p.
33. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un doppio ritorno a capo, dopo un punto esclamativo e a capo.
34. Siamo di nuovo su cerca e sostituisci. Cancellare il punto esclamativo prima di accento circonflesso p, e digitare un punto interrogativo prima di accento circonflesso p.
35. Premere tab e cancellare il punto esclamativo prima dei due accento circonflesso p, e digitare al suo posto il punto interrogativo, in modo da avere: punto interrogativo, accento circonflesso p, accento circonflesso p.
36. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un doppio ritorno a capo, dopo un punto interrogativo e a capo.
37. Siamo di nuovo su cerca e sostituisci. Cancellare tutto e scrivere tre volte accento circonflesso p, in modo da avere accento circonflesso p, accento circonflesso p, accento circonflesso p.
38. Premere tab e cancellare tutto. Scrivere due volte accento circonflesso p, in modo da avere: accento circonflesso p, accento circonflesso p.
39. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a eliminare i ritorni a capo in più. Ripetere il comando sostituisci tutto quattro o cinque volte, anche se non avvengono sostituzioni.
40. Aprire il menu strumenti, portarsi su macro, aprire il sottomenu e cliccare o premere invio sul comando interrompi registrazione macro.

Se tutto è stato eseguito come descritto e non ci sono stati problemi durante la creazione della macro, quando siamo in un documento e lo vogliamo pulire da spazi e metterlo un po' in ordine, faremo come segue:

1. Premiamo alt più F8. Si apre il menu delle macro installate.
2. Scegliamo la macro EliminaSpazi e clicchiamo su OK oppure premiamo invio.

Con questo comando, faremo il lavoro con un solo click, in qualsiasi documento e ogni volta che vogliamo.

Creazione seconda macro.

Premessa: questa macro serve a preparare un documento con tutti i tag HTML adatti a formattare il testo come serve in una news o in un qualsiasi documento preparato da impaginare su un sito che usa ItCms Vigile, anche se sicuramente sarà adatta anche per altri tipi di CMS.

Questa macro non intende sostituire gli attrezzi che ha di suo il CMS, ma serve solo per semplificare l'immissione dei testi per la pubblicazione di documenti. Infatti, questa macro serve solo a creare un paragrafo con tanti ritorni a capo per ogni volta che nel documento di Microsoft Word sono presenti dei doppi ritorni a capo.

Questo significa che se abbiamo preparato un documento con la macro descritta sopra, ma anche se abbiamo messo a mano dei doppi ritorni a capo nei punti che vogliamo che la pagina HTML abbia il ritorno a capo, questa macro metterà un tag di inizio paragrafo, tanti tag di ritorno a capo ed un tag di fine paragrafo, in modo che quando si farà il copia ed incolla sul sito, nello spazio dove si inserisce una news, un documento o qualsiasi altro testo, sarà impaginato in modo corretto e secondo quello che abbiamo previsto come ritorni a capo.

Macro 2: PreparaDocumentoFormattato.

1. Aprire un documento da preparare e trattarlo con la macro Elimina spazi, avendo cura di controllare prima ed eventualmente inserire i segni di punteggiatura ad ogni fine paragrafo.
2. In alternativa, mettere a mano tutti i doppi ritorni a capo che ci servono, controllando che tutti i paragrafi siano integri, leggendoli, a partire da inizio documento, con il comando control più le frecce verticali. Ogni volta che si da questo comando, Jaws deve leggere l'intero paragrafo fino al segno di punteggiatura di fine paragrafo.
3. Dal menu strumenti, scegliere macro.
4. Dal sottomenu, scegliere registra nuova macro e cliccare o premere invio.
5. Mettere il nome alla macro, per esempio, PreparaDocumentoFormattato, e premere invio. Attenzione, non ci devono essere spazi nel nome della macro, quindi, per separare le parole, inserire la lettera maiuscola iniziale per ogni parola o segni come il sottolineato.
6. Siamo sul testo del documento aperto. Premere control più Home, per essere certi di essere ad inizio documento.
7. Premiamo shift più control più T, per aprire il trova di Word.
8. Digitare accento circonflesso p, due volte e premere invio. Ci siamo spostati alla prima ricorrenza di un doppio ritorno a capo, quella subito alla fine del titolo.
9. Premere escape per chiudere il trova. Premiamo invio.
10. Ci troviamo sulla riga vuota sotto al titolo e scriviamo un segno di minore `(<)`, la lettera p minuscola ed un segno di maggiore `(>)`, segni che in HTML significano inizio di un paragrafo, e premiamo invio. I caratteri saranno `<p>`
11. Premiamo control più shift più tasto fine (end) per selezionare tutto il testo fino a fine documento. Questo per lavorare con la macro solo sul testo ed escludendo il titolo.
12. Aprire il cerca e sostituisci di Microsoft Word con control più shift più S.
13. Troviamo sul campo cerca il doppio accento circonflesso p, quindi, premiamo tab.
14. Scriviamo accento circonflesso p, un segno di minore, la lettera B, la lettera R, uno spazio, una barra (shift più 7), un segno di maggiore, un accento circonflesso p. Quindi, sul campo ci sarà scritto: `^p<br />^p`
15. Cliccare su sostituisci tutto. Per chi usa la tastiera, premere alt più U, per word2003, oppure, alt più S, per word 2007. Questo comando serve a inserire un tag di ritorno a capo in tutte le righe vuote che abbiamo preparato con la macro precedente o quelle che abbiamo preparato a mano.
16. Dopo aver eseguito le sostituzioni, Word ci dice quante sostituzioni ha eseguito nel testo selezionato e poi chiede se deve eseguire lo stesso lavoro anche nel resto del documento. Con tab, scegliamo no e premiamo invio.
17. Premiamo escape per uscire dal trova e sostituisci.
18. Premiamo control più Fine (end), per andare a fine del documento.
19. Scriviamo un segno di minore, una barra (shift più 7), la lettera p, ed un segno di maggiore. I caratteri saranno: `</p>`. Premiamo invio. Questo è il tag di fine paragrafo.
20. Andiamo nel menu strumenti, scegliamo macro, dal sottomenu, scegliamo interrompi registrazione macro e premiamo invio.

Come vi renderete conto da soli, anche per questa macro è stato più difficile a spiegare che a fare.

Conclusioni:

Anche se la descrizione è stata lunga, credetemi, è stato più difficile a scriverne la spiegazione che fare in pratica le due macro.

Avendo preparato le due macro, ne ho esportato il contenuto ed è disponibile il file macro_nunziante.zip, contenente il file macro_nunziante.bas e questo file che stai leggendo, sul cd del giornale Uiciechi.it di Marzo 2011, versione su cd-rom, tra i software del mese.

Per poter importare nel proprio word queste due macro, procedimento di importazione che risulta molto semplice, fare come segue:

1. Apriamo un qualsiasi documento di Microsoft Word.
2. Con alt più F8, apriamo le macro. Se non sono presenti macro nel nostro normal.dot, si apre direttamente la procedura per creare una macro, quindi, scriviamo un nome qualsiasi, per esempio, prova e premiamo invio.
3. Se abbiamo già delle macro, con tab, ci portiamo su Modifica e premiamo invio.
4. In entrambi i casi, dalla finestra che si apre, apriamo il menu file con alt, con freccia giù scegliamo il comando importa e premiamo invio.
5. Si apre una normale finestra per cercare un file sul disco. Siamo sul campo nome file e scriviamo il nome del file completo di percorso. In questo caso, se abbiamo copiato il file `macro_nunziante.bas` nella cartella principale del disco C, scriveremo `C:\macro_nunziante.bas`
6. Se non ricordassimo dove è il file, con tab, ci portiamo sul campo cerca in, e scegliamo la cartella nella quale cercare il file.
7. Selezionato con le frecce il file da importare, con tab, ci portiamo sul pulsante apri e premiamo invio per importare il file all'interno del nostro normal.dot. Per fare prima, basta dare invio sul file direttamente.
8. Per verificare che tutto sia andato per il verso giusto, basta aprire le macro con alt più F8 e verifichiamo di aver importato le macro.

Nota bene: per chi avesse dovuto avviare la creazione di una macro, in quanto non ne esistevano prima ed avesse inserito una macro con il nome prova di cui all'esempio fatto sopra, quando apre le macro, si posiziona sulla macro prova, preme tab fino ad elimina, preme invio, conferma la cancellazione ed elimina la macro fittizia creata.

Importante:

1. Questi procedimenti visti sopra, come già scritto in precedenza, si possono adottare per qualsiasi cosa che si vuole eseguire nei documenti di Microsoft Word con un solo click. Basta indicare, durante la registrazione della macro, quello che si vuole fare, eseguendo le operazioni passo passo, una dietro l'altra, e senza mai lasciare la finestra di creazione della macro.
2. Quando si è soliti fare il copia ed incolla da qualsiasi altro documento di testo, da una e-mail o da una pagina Internet, poiché le ultime versioni di Jaws copiano anche la formattazione del documento originale, sarebbe meglio adottare il comando incolla speciale, comando che quasi tutti i Word Processor hanno nei menu, ed incollare come testo non formattato. Per Microsoft Word 2003, tale comando lo troviamo nel menu modifica, mentre per Microsoft Word 2007, lo troviamo nel menu Home. Usando questa accortezza, si può essere certi che tanti caratteri strani, i collegamenti ipertestuali, immagini, colori e tutte quelle cose inutili per chi deve prelevare solo il testo, non le incolleremo più e, quindi, il documento creato sarà certamente più pulito.

**********

Per ulteriori spiegazioni, scrivere a: Nunziante Esposito.

VAI ALLE RUBRICHE