Word ha una funzionalità molto potente che ti consente di cercare praticamente qualsiasi cosa sotto il sole. Tuttavia, una cosa che non puoi cercare sono i bordi dei paragrafi. Ad esempio, se vuoi trovare tutti i paragrafi con il bordo sinistro attivato, non puoi farlo. Tuttavia, ci sono un paio di modi per aggirare questo problema.

La prima soluzione alternativa è utilizzare semplicemente gli stili per formattare i paragrafi.

Se utilizzi uno stile e lo stile richiede un bordo sinistro su un paragrafo, puoi cercare facilmente i paragrafi utilizzando quello stile.

(Il modo esatto in cui cerchi gli stili è stato trattato in altri numeri di WordTips.)

La seconda soluzione possibile è eseguire la ricerca utilizzando una macro.

Utilizzando una macro, puoi facilmente verificare se sono impostati attributi di bordo per un paragrafo. La seguente macro passa attraverso ciascuno dei paragrafi in un documento. Quando trova un paragrafo che ha impostato uno qualsiasi degli attributi del bordo, quel paragrafo viene selezionato e la macro si interrompe.

Sub SearchForBorders1()

Dim k As Word.Paragraph     Dim bFound As Boolean

For Each k In ActiveDocument.Paragraphs         bFound = False         If k.Borders(wdBorderTop).LineStyle <> wdLineStyleNone _           Then bFound = True         If k.Borders(wdBorderLeft).LineStyle <> wdLineStyleNone _           Then bFound = True         If k.Borders(wdBorderBottom).LineStyle <> wdLineStyleNone _           Then bFound = True         If k.Borders(wdBorderRight).LineStyle <> wdLineStyleNone _           Then bFound = True

If bFound Then             k.Range.Select             Exit Sub         End If     Next k End Sub

Questa macro può essere molto utile se non hai molti paragrafi con bordi. Perché? Perché la macro inizia sempre la ricerca dall’inizio del documento e pertanto troverà solo il primo paragrafo con un bordo impostato.

È possibile utilizzare un approccio macro diverso per cercare i bordi nei paragrafi oltre quello in cui si trova il punto di inserimento. La seguente macro fa proprio questo: avvia la ricerca dopo il paragrafo corrente e si interrompe quando raggiunge un paragrafo che ha impostato uno dei suoi attributi di bordo. Nota che questa macro non seleziona l’intero paragrafo; sposta semplicemente il punto di inserimento nel paragrafo che ha un bordo impostato.

Sub SearchForBorders2()

Static a As Long, l As Long     Dim b As Boolean     Dim bd As Border     Dim bds As Borders     Dim prg As Paragraph     Dim prgs As Paragraphs     Dim re As Range     Dim se As Selection     Dim doc As Word.Document

Set se = Selection     Set re = se.Range     Set doc = ActiveDocument     If se.Start < l Then a = se.Start     With doc.Content         Set bds = .Borders         re.Start = a         re.End = .End     End With     For Each bd In bds         b = bd = True         If b Then Exit For     Next     If Not b Then Exit Sub

Set prgs = re.Paragraphs     For Each prg In prgs         Set re = prg.Range         If InStr(re.Text, Chr(13)) = 0 Then             re.End = re.End + 1         End If         Set bds = re.Borders         For Each bd In bds             b = bd = True             If b Then Exit For         Next         If b Then             a = re.Start             se.Start = re.Start             se.End = re.Start             a = re.End             l = se.Start             Exit Sub         End If     Next     a = 0     MsgBox "No more borders found"

End Sub

_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 (9833) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365. Puoi trovare una versione di questo suggerimento per vecchia interfaccia del menu di Word qui: