非常に短いドキュメントを書いているのでない限り、クリーンアップは書くのが最も難しい部分の1つになる可能性があります。次のマクロは、ドキュメントを段落ごとに再確認して、括弧の数がバランスしているかどうかを判断します。マクロは、ドキュメントの各段落の左括弧の数をカウントし、右括弧の数が同じであることを確認します。そうしないと、マクロは、エラーを示す不均衡な段落の前に段落を挿入します。

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

ここには実際には2つのマクロがあることに注意してください。 CountChars関数は、メインのCheckParensマクロ内から呼び出されます。ドキュメントで実際に呼び出す必要があるのは、この後者のマクロ(CheckParens)です。マクロが終了したら、ドキュメントを検索して「Unbalanced parens」という文言を探し、問題が発生している可能性のある場所を確認できます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1308)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ:

link:/ wordribbon-Checking_for_Matching_Parentheses [一致する括弧のチェック]