Suchen nach Rahmen (Microsoft Word)
Word verfügt über eine sehr leistungsstarke Funktion, mit der Sie unter der Sonne nach fast allem suchen können. Eine Sache, nach der Sie nicht suchen können, ist jedoch die Begrenzung von Absätzen. Wenn Sie beispielsweise alle Absätze suchen möchten, bei denen der linke Rand aktiviert ist, können Sie dies nicht tun. Es gibt jedoch einige Möglichkeiten, dies zu umgehen.
Die erste Problemumgehung besteht darin, einfach Stile zum Formatieren Ihrer Absätze zu verwenden.
Wenn Sie einen Stil verwenden und der Stil einen linken Rand für einen Absatz erfordert, können Sie mit diesem Stil problemlos nach Absätzen suchen.
(Wie genau Sie nach Stilen suchen, wurde in anderen Ausgaben von WordTips. behandelt.)
Die zweite mögliche Problemumgehung besteht darin, Ihre Suche mithilfe eines Makros durchzuführen.
Mithilfe eines Makros können Sie leicht überprüfen, ob für einen Absatz Rahmenattribute festgelegt sind. Das folgende Makro führt Sie durch die einzelnen Absätze eines Dokuments. Wenn ein Absatz gefunden wird, für den eines der Rahmenattribute festgelegt ist, wird dieser Absatz ausgewählt und das Makro gestoppt.
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
Dieses Makro kann sehr praktisch sein, wenn Sie nicht viele Absätze mit Rahmen haben. Warum? Weil das Makro immer vom Anfang des Dokuments an mit der Suche beginnt und daher nur den ersten Absatz mit einem Rahmensatz findet.
Ein anderer Makroansatz kann verwendet werden, um in Absätzen nach Rändern zu suchen, die über den Rand hinausgehen, in dem sich die Einfügemarke befindet. Das folgende Makro macht genau das – es beginnt mit der Suche nach dem aktuellen Absatz und stoppt, wenn es einen Absatz erreicht, für den eines seiner Rahmenattribute festgelegt ist. Beachten Sie, dass dieses Makro nicht den gesamten Absatz auswählt. Die Einfügemarke wird einfach auf den Absatz verschoben, für den ein Rahmen festgelegt ist.
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
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (9833) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: