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 (1705) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: