Controllo delle parentesi corrispondenti (Microsoft Word)
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: