Accesso ai paragrafi in una macro (Microsoft Word)
Una delle cose interessanti della programmazione di macro VBA è che il linguaggio è orientato agli oggetti. Ciò significa che puoi accedere a ogni parte del tuo documento utilizzando oggetti e raccolte di oggetti. In altre parole, puoi manipolare i paragrafi senza mai doverli selezionare.
Ad esempio, supponiamo che tu voglia accedere a ogni paragrafo di un documento, a turno, ed eseguire alcune elaborazioni sul testo in quel paragrafo.
Poiché ogni paragrafo è un oggetto distinto nel documento, ciò è relativamente facile. Tutti gli oggetti paragrafo sono accessibili come parte della raccolta Paragrafi. Il seguente codice farà il trucco:
iParCount = ActiveDocument.Paragraphs.Count For J = 1 To iParCount sMyPar = ActiveDocument.Paragraphs(J).Range.Text [Add processing comments to manipulate sMyPar] ActiveDocument.Paragraphs(J).Range.Text = sMyPar Next J
La prima riga del codice imposta iParCount uguale al numero di paragrafi nel documento corrente. Il ciclo che inizia nella seconda riga quindi svolge il lavoro principale nella macro. La terza riga imposta la stringa sMyPar uguale al testo all’interno del paragrafo specificato. (Quando J è uguale a 1, stai lavorando con il primo paragrafo. Quando J è uguale a 2, è il secondo paragrafo, e così via.)
Al termine dell’elaborazione di sMyPar, la riga successiva imposta il testo del documento uguale al testo modificato nella stringa sMyPar.
Tuttavia, l’esecuzione del codice precedente richiede molto tempo. Sarebbe più veloce accedere alla raccolta Paragraphs usando un ciclo For Each, come mostrato qui:
For Each p In ActiveDocument.Paragraphs sMyPar = p.Range.Text [Add processing comments to manipulate sMyPar] p.Range.Text = sMyPar Next p
Puoi rendere il tuo codice ancora più veloce se modifichi i paragrafi solo se l’elaborazione indica che è necessaria una modifica.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (12177) si applica a Microsoft Word 2007, 2010, 2013 e 2016. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: