Nwlapcug.com


Tutorial VBA per Word

Visual Basic for Applications (VBA) è un linguaggio di programmazione utilizzato per automatizzare le attività in Microsoft Word. Con Visual Basic si può fare qualsiasi operazione che si può fare in Word senza Visual Basic, ma più veloce. Questo è particolarmente vero per le operazioni che includono molti compiti secondari, come ad esempio una ricerca di una parola, seguita da selezione parola, seguita da formattazione.

Nell'esempio di codice riportato di seguito viene illustrato come è possibile utilizzare VBA per produrre soluzioni pratiche per problemi comuni di elaborazione testi.

Immettere il codice di esempio nell'IDE

Aprire MS Word e andare all'IDE di Visual Basic (ambiente di sviluppo integrato) premendo alt-F11.

Nella finestra del codice, immettere il seguente codice di programma.

Public Sub mac()
Dim r As Range
Dim w As Range
Dim i As Integer
Dim t As String

Options.DefaultHighlightColorIndex

Impostare r = selection

r.StartOf (wdParagraph)

r.Expand wdParagraph

r.Find.ClearFormatting
r.Find.Replacement.ClearFormatting
r.Find.Replacement.Highlight = True
With r.Find
.Text = "is"
.Replacement.Text = "is"
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
r.Find.Execute Replace:=wdReplaceAll

End Sub

È possibile ottenere un senso di ciò che questo programma farà notando alcune parole chiave all'interno di esso: paragrafo, ricerca e selezione, per esempio. Il programma rileva e mette in evidenza tutte le occorrenze di una parola che si specifica, all'interno del paragrafo corrente.

Notare queste due righe nel codice:
. Testo = "è"
. Replacement.Text = "è"

Quelle linee dire parola che cosa cercare. Al posto di quelli s "è", immettere qualsiasi parola o il testo che si desidera cercare ed evidenziare.

Esecuzione del programma

Tornare a word (alt-F11) e immettere un paio di paragrafi di testo vale la pena. Tali paragrafi devono contenere almeno un paio occorrenze del termine suddetto ricerca che hai scelto.

Quando hai finito di immissione del testo, posizionare il cursore all'interno di uno qualsiasi dei paragrafi. Eseguire il programma: scegliere alt-F8 per far apparire la finestra macro-replay. Selezionare la macro "mac" e premere il tasto Run. Se Word rileva tutte le istanze della parola ricerca specificata, nel paragrafo contenente il cursore, si metterà in evidenza la parola.

Comprenderlo per adattarlo

Digitando in un singolo script può migliorare un po' il flusso di lavoro. Ma se si capisce come funziona lo script, si inizia a migliorare il flusso di lavoro notevolmente e il perpetua.

Tornare all'IDE di Visual Basic e guardare il codice di programma all'interno della funzione di mac. Si noti come la funzione mac ottiene il paragrafo corrente per fare l'operazione di sostituzione: esamina l'oggetto di selezione, che rappresenta il punto selezionato del testo o inserimento. Quindi, utilizzando la rappresentazione interna di Word del documento, lo script "scavalca" dal punto di inserimento corrente all'inizio del paragrafo che contiene il punto di inserimento.

Questo tipo di movimento è reso possibile da una rete di collegamenti all'interno di VBA per Word. La selezione corrente è legata alla parola corrente, la frase corrente e il paragrafo corrente. In particolare, i collegamenti mac o scavalca dalla selezione corrente all'inizio del paragrafo corrente (Set r = Selection e r.StartOf (wdParagraph)). A quel punto, r è solo un punto di inserimento, ma lo vogliamo fare riferimento per l'intero paragrafo, quindi abbiamo espanderlo con r.Expand wdParagraph. Se si desidera cercare solo la frase corrente anziché il paragrafo corrente, è possibile sostituire tutte le istanze di wdParagraph nel codice del programma con wdSentence.