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 NumPara = ActiveDocument.Paragraphs.Count ReDim CheckP(NumPara) MsgText = "Unbalanced parens in the next paragraph" For J = 1 To NumPara CheckP(J) = False WorkPara = ActiveDocument.Paragraphs(J).Range.Text If Len(WorkPara) <> 0 Then LeftParens = CountChars(WorkPara, "(") RightParens = CountChars(WorkPara, ")") 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.
_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 (1308) 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: