Suchen nach übereinstimmenden Klammern (Microsoft Word)
Wenn Sie keine sehr kurzen Dokumente schreiben, kann das Aufräumen einer der schwierigsten Teile des Schreibens sein. Das folgende Makro überprüft Ihr Dokument Absatz für Absatz, um festzustellen, ob Sie eine ausgeglichene Anzahl von Klammern haben. Das Makro zählt die Anzahl der linken Klammern in jedem Absatz Ihres Dokuments und stellt sicher, dass Sie die gleiche Anzahl der rechten Klammern haben. Wenn Sie dies nicht tun, fügt das Makro vor dem unsymmetrischen Absatz einen Absatz ein, der den Fehler angibt.
Sub CheckParens() Dim WorkPara As String Dim CheckP() As Boolean Dim NumPara As Integer, J As Integer Dim LeftParens As Integer, RightParens As Integer Dim MsgText As String Dim OpenChar As String Dim CloseChar As String OpenChar = "(" CloseChar = ")" MsgText = "Unbalanced parens in the next paragraph" NumPara = ActiveDocument.Paragraphs.Count ReDim CheckP(NumPara) For J = 1 To NumPara CheckP(J) = False WorkPara = ActiveDocument.Paragraphs(J).Range.Text If Len(WorkPara) <> 0 Then LeftParens = CountChars(WorkPara, OpenChar) RightParens = CountChars(WorkPara, CloseChar) If LeftParens <> RightParens Then CheckP(J) = True End If Next J For J = NumPara To 1 Step -1 If CheckP(J) Then Selection.HomeKey Unit:=wdStory, Extend:=wdMove If J > 1 Then Selection.MoveDown Unit:=wdParagraph, _ Count:=(J - 1), Extend:=wdMove End If Selection.InsertParagraphBefore Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.Style = "Normal" Selection.TypeText Text:=MsgText End If Next J End Sub Private Function CountChars(A As String, C As String) As Integer Dim Count As Integer Dim Found As Integer Count = 0 Found = InStr(A, C) While Found <> 0 Count = Count + 1 Found = InStr(Found + 1, A, C) Wend CountChars = Count End Function
Beachten Sie, dass es hier tatsächlich zwei Makros gibt. Die CountChars-Funktion wird im Hauptmakro von CheckParens aufgerufen. Dieses letztere Makro (CheckParens) sollten Sie tatsächlich für Ihr Dokument aufrufen. Wenn das Makro fertig ist, können Sie das Dokument durchsuchen und nach dem Wortlaut „Unbalanced parens“ suchen, um festzustellen, wo möglicherweise Probleme auftreten.
Beachten Sie auch, dass Sie die Art und Weise, wie dieses Makro geschrieben ist, leicht ändern können, um nach anderen „gepaarten“ Zeichen zu suchen. Sie müssen lediglich ändern, was den Variablen OpenChar, CloseChar und MsgText zugewiesen ist. Wenn Sie beispielsweise nach nicht übereinstimmenden Klammern suchen möchten, können Sie diese Variablen folgendermaßen ändern:
OpenChar = "[" CloseChar = "]" MsgText = "Unbalanced brackets in the next paragraph"
_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 (1018) gilt für Microsoft Word 2007, 2010, 2013 und 2016. Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: