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 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
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, inoltre, che il modo in cui è scritta questa macro, potresti facilmente modificarla per cercare altri caratteri “accoppiati”. Tutto quello che devi fare è cambiare ciò che è assegnato alle variabili OpenChar, CloseChar e MsgText. Ad esempio, se volessi verificare la presenza di parentesi non corrispondenti, potresti cambiare quelle variabili in questo modo:
OpenChar = "[" CloseChar = "]" MsgText = "Unbalanced brackets in the next paragraph"
_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 (1018) si applica a Microsoft Word 2007, 2010, 2013 e 2016. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: