Lee có một macro so sánh, từng đoạn, hai tài liệu. Anh ta cần một cách để giảm bớt việc sử dụng các dấu ngoặc kép thông minh trong một đoạn văn. Nói cách khác, nếu hai đoạn văn giống nhau về mọi mặt – ngoại trừ một đoạn sử dụng dấu ngoặc kép thông minh và đoạn còn lại thì không – Lee vẫn muốn coi các đoạn văn là tương đương nhau.

Cách dễ nhất để xử lý tình huống này là chỉ cần thay thế bất kỳ dấu ngoặc kép thông minh nào bằng dấu ngoặc kép thông thường, sau đó thực hiện so sánh. Ví dụ: giả sử rằng macro của bạn lướt qua tài liệu và gán văn bản của một đoạn cho một biến (chẳng hạn như sThisPar), thì bạn có thể loại bỏ các dấu ngoặc kép trong văn bản bằng cách sử dụng mã này:

sThisPar = RepText(sThisPar, Chr(145), "'")

sThisPar = RepText(sThisPar, Chr(146), "'")

sThisPar = RepText(sThisPar, Chr(147), Chr(34))

sThisPar = RepText(sThisPar, Chr(148), Chr(34))

Những dòng này thay thế các phiên bản thông minh của dấu ngoặc kép mở và đóng và dấu nháy đơn bằng các dòng tương đương “đơn giản” của chúng. Mã này dựa trên một chức năng được gọi là RepText, không được hiển thị trong mẹo này. Quy trình không làm gì khác ngoài việc thay thế sự xuất hiện của một đoạn văn bản này bằng một đoạn văn bản khác. Trong một số phiên bản của VBA, bạn có thể sử dụng lệnh Replace để thay thế, lệnh này được tích hợp sẵn trong các phiên bản ngôn ngữ đó.

Khi đang ở đó, bạn cũng có thể muốn thay thế các ký tự dành riêng cho Word khác bằng các ký tự tương đương đơn giản của chúng. Các dòng sau lần lượt thay thế dấu gạch ngang, dấu gạch ngang và dấu chấm lửng.

sThisPar = RepText(sThisPar, Chr(150), "-")

sThisPar = RepText(sThisPar, Chr(151), "--")

sThisPar = RepText(sThisPar, Chr(133), "...")

Sau khi thay thế xong, bạn có thể so sánh văn bản trong các đoạn với độ tin cậy cao hơn nhiều.

Nếu bạn không thể sửa đổi mã macro của mình vì lý do nào đó, thì bạn có thể chỉ cần thay thế các dấu ngoặc kép thông minh trong tài liệu của mình bằng các dấu ngoặc kép thông thường trước khi chạy macro. Mở tài liệu, tắt các câu trích dẫn thông minh tự động (trong hộp thoại AutoCorrect), sau đó thực hiện hai thao tác tìm và thay thế để thay thế từng câu trích dẫn bằng một câu trích dẫn (đặt câu trích dẫn vào cả hai hộp Tìm gì và Thay thế bằng) , thứ hai, để thay thế mỗi dấu nháy đơn bằng một dấu nháy đơn. Sau đó, bạn có thể chạy các macro của mình và việc so sánh sẽ diễn ra suôn sẻ hơn.

_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 (11983) áp dụng cho Microsoft Word 2007, 2010, 2013 và 2016. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: