Comprobación de paréntesis coincidentes (Microsoft Word)
A menos que esté escribiendo documentos muy breves, la limpieza puede ser una de las partes más difíciles de la escritura. La siguiente macro comprueba su documento, párrafo por párrafo, para determinar si tiene un número equilibrado de paréntesis. La macro cuenta el número de paréntesis izquierdos en cada párrafo de su documento y se asegura de que tenga el mismo número de paréntesis derechos. Si no lo hace, la macro inserta un párrafo antes del párrafo desequilibrado que indica el error.
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
Tenga en cuenta que en realidad hay dos macros aquí. La función CountChars se llama desde la macro principal de CheckParens. Es esta última macro (CheckParens) la que realmente debería invocar en su documento. Cuando termine la macro, puede buscar en el documento, buscando la frase «Parens desequilibrados» para ver dónde puede tener problemas.
Tenga en cuenta, además, que la forma en que se escribe esta macro, puede modificarla fácilmente para buscar otros caracteres «emparejados». Todo lo que necesita hacer es cambiar lo que se asigna a las variables OpenChar, CloseChar y MsgText. Por ejemplo, si quisiera verificar si hay corchetes que no coinciden, puede cambiar esas variables de esta manera:
OpenChar = "[" CloseChar = "]" MsgText = "Unbalanced brackets in the next paragraph"
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.
link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
WordTips es su fuente de formación rentable en Microsoft Word.
(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (1018) se aplica a Microsoft Word 2007, 2010, 2013 y 2016. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Word aquí:
link: / word-Checking_for_Matching_Parentheses [Comprobación de paréntesis coincidentes]
.