La suite di Microsoft Office è una delle soluzioni per ufficio più popolari: che si tratti di Word, Excel o Po­wer­Point, le pratiche ap­pli­ca­zio­ni per scrittura, calcolo e pre­sen­ta­zio­ni sono uti­liz­za­te ormai da anni. Tuttavia, molti utenti spesso non ne conoscono tutte le fun­zio­na­li­tà: un esempio è una funzione dei programmi MS Office con la quale è possibile creare, salvare ed eseguire macro per au­to­ma­tiz­za­re de­ter­mi­na­ti compiti e processi, com­por­tan­do un si­gni­fi­ca­ti­vo risparmio di tempo e fatica so­prat­tut­to nelle fasi di lavoro più ri­pe­ti­ti­ve.

Che ruolo svolgono le macro in Word e come fun­zio­na­no esat­ta­men­te queste sequenze di comando? Vi spie­ghe­re­mo come creare una Word macro e come ap­pli­car­la nei vostri documenti.

Che cos’è una macro di Word?

Le macro ap­par­ten­go­no al re­per­to­rio standard della pro­gram­ma­zio­ne e delle ap­pli­ca­zio­ni di programmi per computer. Fon­da­men­tal­men­te sono delle sub­rou­ti­ne create da svi­lup­pa­to­ri o utenti per me­mo­riz­za­re sequenze di comandi o istru­zio­ni d’uso, ese­gui­bi­li in seguito a una semplice richiesta. In qualità di programma di ela­bo­ra­zio­ne testi, Microsoft Word è un tipico software ap­pli­ca­ti­vo che, so­prat­tut­to per la ri­pe­ti­ti­vi­tà di alcune sue procedure, vanta questa pos­si­bi­li­tà di au­to­ma­tiz­za­zio­ne.

A tal proposito l’editor (come ad esempio Access, Excel o Po­wer­Point) dispone di uno strumento integrato con il quale è possibile re­gi­stra­re ed eseguire le Word macro personali. Il lin­guag­gio di script Visual Basic for Ap­pli­ca­tions (VBA), sempre svi­lup­pa­to da Microsoft, viene uti­liz­za­to come lin­guag­gio di markup.

N.B.

Il lin­guag­gio di pro­gram­ma­zio­ne orientato agli eventi VBA ha so­sti­tui­to a metà degli anni '90 i linguaggi macro non com­pa­ti­bi­li con i vari programmi Microsoft Office. Questa soluzione uniforme consente di creare ed eseguire anche catene di comandi in maniera in­cro­cia­ta, passando ad esempio da un documento Word a un foglio di calcolo Excel con un solo clic.

Come fun­zio­na­no le macro in Word?

Creare una macro di Word potrebbe sembrare un compito da pro­gram­ma­to­re esperto: scrivere un nuovo codice in un lin­guag­gio di pro­gram­ma­zio­ne par­ti­co­la­re non rientra cer­ta­men­te tra le com­pe­ten­ze prin­ci­pa­li dell’utente medio di Word, ma grazie allo strumento di macro integrato, la creazione e l’utilizzo di Word macro si con­cre­tiz­za­no senza dover ricorrere a co­no­scen­ze di pro­gram­ma­zio­ne spe­ci­fi­che. Si tratta del co­sid­det­to re­gi­stra­to­re di macro grazie al quale non bisogna scrivere il codice. Per creare una nuova macro, basta sem­pli­ce­men­te iniziare la re­gi­stra­zio­ne, eseguire quindi i passaggi operativi e i comandi de­si­de­ra­ti e infine terminare la re­gi­stra­zio­ne. Il codice VBA della macro di Word viene generato au­to­ma­ti­ca­men­te, senza che sia ne­ces­sa­rio eseguire ulteriori ope­ra­zio­ni.

N.B.

Con il Visual Basic Editor, gli strumenti di Microsoft Office hanno integrato il proprio ambiente di sviluppo VBA con­sen­ten­do di vi­sua­liz­za­re e mo­di­fi­ca­re il codice delle macro re­gi­stra­te.

È inoltre possibile assegnare ad ogni nuova Word macro una ri­spet­ti­va com­bi­na­zio­ne di tasti o un pulsante, uti­liz­za­bi­li in qualsiasi momento per eseguire la catena di comandi cor­ri­spon­den­te. Quest’ultimo può essere aggiunto alla barra degli strumenti di accesso rapido, in modo da poter avviare la macro con un solo clic. Se de­si­de­ra­te rendere di­spo­ni­bi­le la macro di Word per tutti i documenti, occorre salvarla nel modello di file Normal.dotm, che Word utilizza come modello a livello tra­sver­sa­le per tutti i nuovi progetti di testo.

Creare le macro in Word: come funziona

Se de­si­de­ra­te impostare degli au­to­ma­ti­smi personali nei vostri documenti Word, ma non avete fa­mi­lia­ri­tà con il lin­guag­gio di pro­gram­ma­zio­ne VBA, potete ef­fet­tua­re la re­gi­stra­zio­ne di macro tramite il re­gi­stra­to­re. A tale scopo, troverete gli strumenti di macro di default nella sezione “Macro” sotto la scheda “Vi­sua­liz­za”. Tuttavia, per agevolare la creazione e la gestione delle macro di Word, si rac­co­man­da di attivare gli strumenti di sviluppo che danno accesso, tra le altre cose, al Visual Basic Editor. Questa casella degli strumenti opzionale può essere attivata come segue:

  1. Se­le­zio­na­te la scheda “File”.
  2. Cliccate su “Opzioni”.
  3. Andate nella sezione “Per­so­na­liz­za­zio­ne barra mul­ti­fun­zio­ne” e scegliete l’opzione “Sviluppo” (in “Schede prin­ci­pa­li”).

Una volta attivati gli strumenti di sviluppo nelle opzioni di Word, viene aggiunta au­to­ma­ti­ca­men­te nell’in­ter­fac­cia utente una finestra di con­fi­gu­ra­zio­ne con lo stesso nome. All’interno di questa finestra si trova l’area di creazione e gestione delle macro all’estrema sinistra della barra del menu. Con le seguenti istru­zio­ni passo dopo passo im­pa­re­re­te ad uti­liz­za­re questo menu di accesso per creare Word macro personali ed eseguirle anche in seguito.

Re­gi­stra­re una macro di Word con un pulsante

La classica soluzione di re­gi­stra­zio­ne di una nuova macro in Word è l’ese­cu­zio­ne tramite pulsante. Se de­si­de­ra­te creare una macro di questo tipo uti­liz­zan­do gli strumenti di sviluppo, andate nella finestra di con­fi­gu­ra­zio­ne e se­le­zio­na­te la voce di menu “Registra macro”.

Inserite ora un nome per la macro e se­le­zio­na­te il documento per il quale deve essere creata in “Memorizza la macro in:”. Se de­si­de­ra­te usare la macro in tutti i nuovi documenti creati, ac­cer­ta­te­vi che la casella sia impostata su “Tutti i documenti (Normal.dotm)”. Infine, fate clic su “Pulsante” affinché la macro possa essere eseguita in Word facendo clic su un pulsante:

Se­le­zio­na­te la nuova macro da creare nella finestra di sinistra e cliccate su “Aggiungi”, se­le­zio­na­bi­le anche nella casella a destra. Fate clic su “Modifica”. Ora potete assegnare un’icona a vostra scelta per la nuova macro di Word:

Con­fer­ma­te il pulsante de­si­de­ra­to con doppio clic su “OK”, quindi eseguite le azioni che vanno me­mo­riz­za­te nella macro. Word registra sia i clic del mouse, sia le sequenze di tasti, mentre i movimenti e le marcature non vengono re­gi­stra­ti. Ad esempio se si desidera evi­den­zia­re il testo, è ne­ces­sa­rio uti­liz­za­re la tastiera (tenendo premuti il tasto Maiusc + i tasti freccia).

Una volta che le azioni de­si­de­ra­te sono state re­gi­stra­te, fate clic su “In­ter­rom­pi re­gi­stra­zio­ne”:

Il pulsante per la macro di Word creata viene aggiunto au­to­ma­ti­ca­men­te nella barra degli strumenti di accesso rapido:

Re­gi­stra­re una macro di Word con una scelta rapida dalla tastiera

La re­gi­stra­zio­ne di una macro in Word uti­liz­zan­do tasti per­so­na­liz­za­ti di scelta rapida dalla tastiera avviene in maniera simile alla re­gi­stra­zio­ne con pulsante: si inizia il processo uti­liz­zan­do il pulsante “Registra macro” nel menu macro degli strumenti di sviluppo, si inserisce un nome per la macro e si decide se questa deve essere di­spo­ni­bi­le in tutti i documenti o solo in un progetto specifico. Nell’ultimo passaggio, prima di iniziare la re­gi­stra­zio­ne, cliccate su “Tastiera” per aprire il menu di nuovi tasti di scelta rapida:

Nel menu “Per­so­na­liz­za tastiera” se­le­zio­na­te la macro sotto la voce “Comandi”. Quindi fate clic con il tasto sinistro del mouse nel campo “Nuova com­bi­na­zio­ne” e inserite la com­bi­na­zio­ne di tasti de­si­de­ra­ta. Nell’esempio seguente di macro di Word, abbiamo premuto la com­bi­na­zio­ne di tasti [Ctrl], [Maiusc] e [O]:

Alla voce “Salva le modifiche in”, spe­ci­fi­ca­te se la com­bi­na­zio­ne di tasti deve essere uni­ver­sa­le (“Normal”) o valida solo in un de­ter­mi­na­to documento Word; quindi cliccate su “Assegna” per con­fer­ma­re. Non appena chiudete il menu, la macro verrà re­gi­stra­ta.

Eseguire una macro di Word

Una volta creata la macro, è possibile eseguirla in qualsiasi momento uti­liz­zan­do l’opzione di ese­cu­zio­ne pre­de­fi­ni­ta, ovvero uti­liz­zan­do la com­bi­na­zio­ne di tasti pre­sta­bi­li­ta o il pulsante cor­ri­spon­den­te nella barra di accesso rapido (in alto a sinistra). Inoltre le vostre Word macro possono essere eseguite anche se­le­zio­nan­do­le dall’elenco nel modo seguente:

  1. Fate clic sul pulsante Macros nel menu della scheda “Sviluppo”, oppure nel menu della scheda “Vi­sua­liz­za” facendo clic su “Vi­sua­liz­za macro” (“Macro”).
  2. Con il tasto sinistro del mouse cliccate sulla macro da eseguire presente nell’elenco.
  3. Infine cliccate su “Esegui”.

Ag­giun­ge­re il pulsante di una Word macro alla barra mul­ti­fun­zio­ne di una finestra di con­fi­gu­ra­zio­ne di Word

Se l’icona della macro nella barra di accesso rapido è troppo piccola o se de­si­de­ra­te ag­giun­ge­re un pulsante a una macro ese­gui­bi­le tramite com­bi­na­zio­ne di tasti, è possibile integrare il pulsante della macro nella barra mul­ti­fun­zio­ne di qualsiasi scheda. Basta creare un gruppo per­so­na­liz­za­to per la scheda e ag­giun­ge­re la macro de­si­de­ra­ta tramite la voce “Per­so­na­liz­za­zio­ne barra mul­ti­fun­zio­ne” nelle opzioni di Word (ac­ces­si­bi­le da “File” -> “Opzioni”).

Creare un gruppo per­so­na­liz­za­to:

Nella finestra a destra sotto “Per­so­na­liz­za­zio­ne barra mul­ti­fun­zio­ne”, se­le­zio­na­te la scheda in cui si desidera creare il nuovo gruppo e fate clic su “Nuovo gruppo”. Oltre ai gruppi pre­de­fi­ni­ti di questa scheda comparirà anche la voce “Nuovo gruppo (per­so­na­liz­za­to)”. Fate clic su “Rinomina” per assegnare al gruppo il nome de­si­de­ra­to e un’immagine per la macro:

Ag­giun­ge­re una macro di Word in un gruppo definito dall’utente:

Se è stato creato un gruppo per­so­na­liz­za­to per la barra mul­ti­fun­zio­ne di una finestra di con­fi­gu­ra­zio­ne, è possibile ag­giun­ger­vi un numero qualsiasi di Word macro. Per farlo se­le­zio­na­te prima la voce “Macro” sotto la voce “Scegli comandi da:” nell’area di menu a sinistra e poi se­le­zio­na­te la macro di Word che de­si­de­ra­te includere. Nella finestra del menu a destra, cliccate sul gruppo definito dall’utente e poi su “Aggiungi”:

Chiudete le opzioni di Word e ri­chia­ma­te la finestra di con­fi­gu­ra­zio­ne a cui è stato pre­ce­den­te­men­te aggiunto il pulsante della macro. Ora dovreste vederlo nel gruppo che avete creato nella barra mul­ti­fun­zio­ne:

Im­por­ta­zio­ne in Word di macro esistenti

Na­tu­ral­men­te può capitare che delle macro VBA che già avete non siano di­spo­ni­bi­li nell’in­stal­la­zio­ne di Word. Ciò potrebbe accadere, ad esempio, se avete creato le macro su un altro di­spo­si­ti­vo o se le avete ricevute da terzi. Esistono diverse fonti nel web in cui è possibile trovare il codice per diversi tipi di macro. Microsoft Word consente di importare tali catene di comando pronte per essere applicate. Lo strumento in­di­spen­sa­bi­le in questo caso è il già citato Visual Basic Editor, che può essere aperto con la com­bi­na­zio­ne di tasti [Alt] + [F11] o in al­ter­na­ti­va tramite la scheda “Developer”.

I prossimi passi dif­fe­ri­sco­no a seconda che stiate im­por­tan­do un file macro finito oppure un codice macro puro.

Im­por­ta­zio­ne di file di macro pronti all’uso (.frm, .bas, .cls):

Se disponete di un file di macro completo, è possibile im­por­tar­lo nella propria in­stal­la­zio­ne di Word in pochi passaggi. Per prima cosa se­le­zio­na­te il documento al quale de­si­de­ra­te ag­giun­ge­re la macro nella sezione “Progetto Explorer” dell’editor; se questa non viene vi­sua­liz­za­ta è possibile aprirla se­le­zio­nan­do la scheda “Vi­sua­liz­za” e cliccando sulla voce di menu “Gestione progetti”. Nel file manager fate clic sul progetto Word corrente o su un altro progetto Word se si desidera che la macro sia applicata ad un solo documento. Se impostate il progetto su “Normal”, la macro di Word sarà importata in tutti i documenti:

Per importare la macro cliccate su “File” e poi su “Import file”. Inserite la posizione del file della macro e cliccate su “Apri” per avviare il processo d’im­por­ta­zio­ne.

Im­por­ta­zio­ne di codice di macro:

Se avete a di­spo­si­zio­ne il codice di una macro specifica, l’im­por­ta­zio­ne avviene di­ver­sa­men­te. Anche in questo caso, all’inizio se­le­zio­na­te il documento al quale si desidera ag­giun­ge­re la sequenza di comandi au­to­ma­ti­ci. Aprite l’Esplora Progetti e fate doppio clic su “Normal” (per salvare la macro come modello uni­ver­sa­le) o su “Thi­sDo­cu­ment” (nella sot­to­car­tel­la “Microsoft Word Objects”) per il documento cor­ri­spon­den­te:

Ora copiate il codice della macro nella finestra del codice e cliccate su “Salva”. Se avete se­le­zio­na­to un documento Word specifico nel passaggio pre­ce­den­te, vi verrà indicato il sal­va­tag­gio come “Documento di Word con at­ti­va­zio­ne macro”. Cliccate su “No” e se­le­zio­na­te la voce ap­pro­pria­ta sotto la voce “Salva come”. Infine, fate clic su “Salva” per generare il nuovo formato di file:

Macro di Word: esempi di sequenze di comandi utili

Ora che sapete che cos’è una Word macro e come crearla, eseguirla e im­por­tar­la, vi mo­stre­re­mo alcuni esempi concreti per il­lu­strar­vi lo scopo di tali catene di comandi per l’au­to­ma­zio­ne nell’editor di testo di Microsoft.

Macro di Word per de­ter­mi­na­re au­to­ma­ti­ca­men­te la lunghezza media della frase

Ci sono vari strumenti web che potete usare per ana­liz­za­re i vostri testi, ad esempio per scoprire la lunghezza media delle frasi. Con l’aiuto di una macro adatta, è possibile de­ter­mi­nar­la di­ret­ta­men­te con Word. Il codice seguente rileva au­to­ma­ti­ca­men­te tutte le frasi del documento e divide il numero totale di parole per il numero di frasi. La macro utilizza quindi un messaggio di testo (“Average Words for Per Sentence”) per pre­sen­ta­re la lunghezza media:

Sub CountWords()
Dim s As Range
Dim numWords As Integer
Dim numSentences As Integer
numSentences = 0
numWords = 0
For Each s In ActiveDocument.Sentences
numSentences = numSentences + 1
numWords = numWords + s.Words.Count
Next
MsgBox "Average Words Per Sentence: " + Str(Int(numWords / numSentences))
End Sub

Esempio di una macro di Word: cor­re­zio­ne di errori di battitura

Chi scrive re­go­lar­men­te testi al computer sa quanto sia facile com­met­te­re errori di battitura. Questi errori possono essere corretti ancora più ra­pi­da­men­te uti­liz­zan­do questa macro con la quale basta po­si­zio­na­re il marcatore sui caratteri da cor­reg­ge­re. L’ese­cu­zio­ne della macro tramite com­bi­na­zio­ne di tasti o pulsante assicura che le lettere vengano so­sti­tui­te au­to­ma­ti­ca­men­te:

Sub Sostituzione caratteri()
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Cut
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Paste
End Sub

Codice macro per rimuovere tutti i col­le­ga­men­ti iper­te­stua­li

Se volete includere nei vostri testi degli indirizzi Internet, Word imposta au­to­ma­ti­ca­men­te i link ai progetti web cor­ri­spon­den­ti. Se non volete che questi col­le­ga­men­ti iper­te­stua­li facciano parte del documento, an­dreb­be­ro eliminati sin­go­lar­men­te. Il seguente esempio di macro di Word vi mostra come ri­spar­mia­re molto lavoro ri­muo­ven­do au­to­ma­ti­ca­men­te il primo col­le­ga­men­to iper­te­stua­le nel documento dopo l’ese­cu­zio­ne, in modo da poter eseguire la macro tutte le volte che è ne­ces­sa­rio fino a quando tutti i col­le­ga­men­ti saranno rimossi.

Sub Nessun collegamento ipertestuale()
'On Error Resume Next
Dim x As Variant
For Each x In ActiveDocument.Hyperlinks
Selection.WholeStory
Selection.Range.Hyperlinks(1).Delete
Next x
End Sub

Vi preghiamo di osservare la nota legale relativa a questo articolo.

Vai al menu prin­ci­pa­le