搜索边界(Microsoft Word)
Word具有非常强大的功能,可让您搜索太阳下几乎所有的东西。但是,您无法搜索的一件事就是段落的边框。例如,如果您想查找所有打开了左边框的段落,则不能这样做。但是,有两种方法可以解决此问题。
第一种解决方法是仅使用样式设置段落格式。
如果您使用一种样式,并且该样式要求段落的左侧边框,则可以使用该样式轻松地搜索段落。
(_WordTips._的其他问题完全涵盖了搜索样式的方式。)
第二种可能的解决方法是使用宏进行搜索。
使用宏,您可以轻松查看是否为段落设置了边框属性。下面的宏逐步介绍了文档中的每个段落。当找到具有任何边框属性设置的段落时,该段落被选中,并且宏停止。
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
如果您没有很多带边框的段落,则此宏非常方便。为什么?因为宏总是从文档的开头开始搜索,因此只能找到带有边框的第一段。
可以使用一种不同的宏方法来搜索除插入点所在的段落以外的段落中的边框。下面的宏就是这样做的-它在当前段落之后开始搜索,并在到达设置了任何边框属性的段落时停止。注意,此宏不会选择整个段落;只需将插入点移动到具有边框的段落即可。
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
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1705)适用于Microsoft Word 97、2000、2002和2003。您可以在Word(Word 2007)的功能区界面中找到此技巧的版本。和更高版本)在这里:
搜索边界。