Trừ khi bạn đang viết những tài liệu rất ngắn, việc dọn dẹp có thể là một trong những phần khó nhất của quá trình viết. Macro sau đây kiểm tra kỹ tài liệu của bạn, từng đoạn một, để xác định xem bạn có số lượng dấu ngoặc đơn cân bằng hay không. Macro đếm số lượng dấu ngoặc đơn bên trái trong mỗi đoạn tài liệu của bạn và đảm bảo rằng bạn có cùng số lượng dấu ngoặc đơn bên phải. Nếu bạn không, macro sẽ chèn một đoạn trước đoạn không cân bằng cho biết lỗi.

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

Lưu ý rằng thực sự có hai macro ở đây. Hàm CountChars được gọi từ bên trong macro CheckParens chính. Macro thứ hai này (CheckParens) là macro mà bạn thực sự nên gọi trên tài liệu của mình. Khi macro hoàn thành, bạn có thể tìm kiếm trong tài liệu, tìm từ “Unbalanced parens” để xem bạn có thể gặp vấn đề ở đâu.

Cũng xin lưu ý rằng cách viết macro này, bạn có thể dễ dàng sửa đổi nó để tìm kiếm các ký tự “được ghép nối” khác. Tất cả những gì bạn cần làm là thay đổi những gì được gán cho các biến OpenChar, CloseChar và MsgText. Ví dụ: nếu bạn muốn kiểm tra các dấu ngoặc chưa khớp, bạn có thể thay đổi các biến đó theo cách này:

OpenChar = "["

CloseChar = "]"

MsgText = "Unbalanced brackets in the next paragraph"

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.

(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (1018) áp dụng cho Microsoft Word 2007, 2010, 2013 và 2016. Bạn có thể tìm phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: