一致する括弧の確認(Microsoft Word)
非常に短いドキュメントを書いているのでない限り、クリーンアップは書くのが最も難しい部分の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 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
ここには実際には2つのマクロがあることに注意してください。 CountChars関数は、メインのCheckParensマクロ内から呼び出されます。ドキュメントで実際に呼び出す必要があるのは、この後者のマクロ(CheckParens)です。マクロが終了したら、ドキュメントを検索して「Unbalanced parens」という文言を探し、問題が発生している可能性のある場所を確認できます。
また、このマクロの記述方法を変更して、他の「ペアの」文字を検索できることにも注意してください。あなたがする必要があるのは、OpenChar、CloseChar、およびMsgText変数に割り当てられているものを変更することだけです。たとえば、一致しないブラケットをチェックする場合は、次の方法でこれらの変数を変更できます。
OpenChar = "[" CloseChar = "]" MsgText = "Unbalanced brackets in the next paragraph"
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1018)は、Microsoft Word 2007、2010、2013、および2016に適用されます。Wordの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ word-Checking_for_Matching_Parentheses [一致する括弧のチェック]
。