Welcome toWord.Tips.Net
Ask a Word Question
Make a Comment
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Setting Fraction Bar Overhang Spacing in the Equation Editor
Printing On Both Sides of the Paper
Turning Off AutoComplete for Dates
Understanding Auto Line Spacing
Adding Comments to Your Document
Conditional Calculations in Word
Word has a very powerful feature that allows you to search for just about anything under the sun. One thing you cannot search for is borders on paragraphs, however. For instance, if you want to find all paragraphs that had the left border turned on, you can't do it. There are a couple of ways to work around this, however.
The first workaround is to simply use styles to format your paragraphs. If you use a style, and the style calls for a left-side border on a paragraph, then you can easily search for paragraphs using that style. (Exactly how you search for styles has been covered in other issues of WordTips.)
The second possible workaround is to do your searching using a macro. Using a macro, you can easily check to see if any border attributes are set for a paragraph. The following macro steps through each of the paragraphs in a document. When it finds a paragraph that has any of the border attributes set, that paragraph is selected, and the macro stops.
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
This macro can be very handy if you don't have many paragraphs with borders. Why? Because the macro always begins searching from the start of the document, and therefore will only find the first paragraph with a border set.
A different macro approach can be used to search for borders in paragraphs beyond the one in which the insertion point is located. The following macro does just that--it starts searching after the current paragraph, and stops when it reaches a paragraph that has any of its border attributes set. Note that this macro doesn't select the entire paragraph; it simply moves the insertion point to the paragraph that has a border set.
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
Tip #1705 applies to Microsoft Word versions: 97 2000 2002 2003
Add a Professional Finishing Touch! Word includes great tools that allow you to add professional-grade finishing touches to your documents. You can add indexes, tables of contents, and other special tables by using the detailed information available in this volume.