Ricerca di bordi (Microsoft Word)
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: