A meno che tu non stia scrivendo documenti molto brevi, la pulizia può essere una delle parti più difficili della scrittura. La seguente macro controlla il tuo documento, paragrafo per paragrafo, per determinare se hai un numero equilibrato di parentesi. La macro conta il numero di parentesi sinistre in ogni paragrafo del documento e si assicura che tu abbia lo stesso numero di parentesi destre. In caso contrario, la macro inserisce un paragrafo prima del paragrafo sbilanciato indicando l’errore.

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

Nota che in realtà ci sono due macro qui. La funzione CountChars viene chiamata dall’interno della macro CheckParens principale. È quest’ultima macro (CheckParens) quella che dovresti effettivamente invocare sul tuo documento. Quando la macro è terminata, puoi cercare nel documento, cercando la dicitura “Parens sbilanciati” per vedere dove potresti avere problemi.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1308) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia della barra multifunzione di Word (Word 2007 e più tardi) qui: