Moshe có một tài liệu Word đã được chỉnh sửa bởi một trình biên tập sao chép. Bất kỳ nơi nào mà người chỉnh sửa đã chèn một nhận xét, nó bắt đầu bằng dấu ngoặc đơn bên trái, tiếp theo là “ed note:”, sau đó là ghi chú và cuối cùng là dấu ngoặc đơn bên phải.

Đối với các quy trình nội bộ của Moshe, có lợi hơn nếu có những ghi chú này dưới dạng nhận xét Word thực tế. Anh ấy tự hỏi liệu có cách nào để tự động hóa việc tìm kiếm các ghi chú trong văn bản này và giấu chúng vào phần nhận xét Word.

Cách để tự động hóa quá trình này là thông qua việc sử dụng macro. Macro có thể dựa vào khả năng Tìm và Thay thế của Word, nhưng thêm một số xử lý bất cứ khi nào có nhận xét phù hợp.

Sub NoteToComment()

Dim sTemp As String

Selection.HomeKey Unit:=wdStory

With Selection.Find         .ClearFormatting         .Text = "\(ed note:*\)"

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindStop         .MatchWildcards = True     End With

Do While Selection.Find.Execute         sTemp = Selection.Text         sTemp = Mid(sTemp, 10, Len(sTemp) - 11)

sTemp = Trim(sTemp)

Selection.Text = ""

Selection.MoveEnd unit:=wdCharacter         Selection.MoveStart unit:=wdCharacter, Count:=-1         If Selection.Text = "  " Then Selection.Text = " "

Selection.Collapse         ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp     Loop End Sub

Đầu tiên, macro sẽ di chuyển đến đầu tài liệu, sau đó nó thiết lập các điều kiện để tìm kiếm. Những gì được tìm kiếm là mẫu mà Moshe đã lưu ý — một dấu ngoặc trái, tiếp theo là “ed note:”, sau đó là ghi chú, và cuối cùng là một dấu ngoặc phải — chuỗi này được gán cho thuộc tính .Text của đối tượng Find. Lưu ý rằng mỗi dấu ngoặc đơn đều có dấu gạch chéo ngược phía trước. Nếu các dấu gạch chéo ngược này không được bao gồm, Word sẽ coi các dấu ngoặc đơn là các ký tự điều khiển trong mẫu tìm kiếm. Ngoài ra, thuộc tính .MatchWildcards được đặt thành True để thuộc tính .Text được coi như một mẫu tìm kiếm.

Trong vòng lặp Do While, được nhập mỗi khi tìm thấy nhận xét phù hợp, biến sTemp được đặt thành văn bản của nhận xét. 9 ký tự đầu tiên bị loại bỏ (đây là “(ed note:”) cùng với dấu ngoặc đơn cuối cùng bên phải. Nhận xét sẽ bị xóa khỏi tài liệu và nếu còn nhiều khoảng trắng sau khi xóa, các ký tự đó cũng bị xóa.

Cuối cùng, một bình luận thực tế được thêm vào có chứa văn bản trong biến sTemp.

Có một điều cần nhớ khi sử dụng macro này: Nó phụ thuộc vào việc khớp đúng mẫu bình luận. Điều này có nghĩa là nếu có một số nhận xét không theo đúng mẫu, chúng có thể không được tìm thấy và chuyển đổi. (Ví dụ: nếu có khoảng trắng sau dấu ngoặc trái mở.) Ngoài ra, nếu các nhận xét trong tài liệu chứa các nhận xét trong ngoặc đơn trong nhận xét (nói cách khác, có các dấu ngoặc đơn lồng nhau trong nhận xét), điều này sẽ làm xáo trộn những gì được tìm thấy bởi tìm kiếm ký tự đại diện và những gì sau đó kết thúc trong nhận xét. : _

Nếu bạn muốn biết cách làm với chúng tôi e là 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 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 (1797) áp dụng cho Microsoft Word 2007, 2010, 2013 và 2016.