Buscando fronteras (Microsoft Word)
Word tiene una función muy poderosa que le permite buscar casi cualquier cosa bajo el sol. Sin embargo, una cosa que no puede buscar son los bordes de los párrafos. Por ejemplo, si desea buscar todos los párrafos que tienen el borde izquierdo activado, no puede hacerlo. Sin embargo, hay un par de formas de solucionar este problema.
La primera solución es simplemente usar estilos para dar formato a sus párrafos.
Si usa un estilo y el estilo requiere un borde del lado izquierdo en un párrafo, entonces puede buscar párrafos fácilmente usando ese estilo.
(Exactamente cómo se buscan estilos se ha tratado en otros números de WordTips.)
La segunda solución alternativa posible es realizar la búsqueda mediante una macro.
Con una macro, puede verificar fácilmente si hay algún atributo de borde establecido para un párrafo. La siguiente macro recorre cada uno de los párrafos de un documento. Cuando encuentra un párrafo que tiene cualquiera de los atributos de borde establecidos, ese párrafo se selecciona y la macro se detiene.
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
Esta macro puede ser muy útil si no tiene muchos párrafos con bordes. ¿Por qué? Porque la macro siempre comienza a buscar desde el principio del documento y, por lo tanto, solo encontrará el primer párrafo con un conjunto de bordes.
Se puede usar un enfoque macro diferente para buscar bordes en párrafos más allá de aquel en el que se encuentra el punto de inserción. La siguiente macro hace precisamente eso: comienza a buscar después del párrafo actual y se detiene cuando llega a un párrafo que tiene establecido alguno de sus atributos de borde. Tenga en cuenta que esta macro no selecciona todo el párrafo; simplemente mueve el punto de inserción al párrafo que tiene un borde establecido.
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: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.
link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Esta sugerencia (9833) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de esta sugerencia para interfaz de menú anterior de Word aquí:
link: / word-Searching_for_Borders [Buscando fronteras]
.