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 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 널리 사용되는 워드 프로세싱 소프트웨어입니다.)이 팁 (9833)은 Office 365의 Microsoft Word 2007, 2010, 2013, 2016, 2019 및 Word에 적용됩니다. Word의 이전 메뉴 인터페이스 :

link : / word-Searching_for_Borders [테두리 찾기].