Đã có nhiều macro mà tôi đã viết với mục đích rõ ràng là “dọn dẹp” văn bản trước khi làm việc khác với nó. Ví dụ: chèn nó vào một tài liệu mới hoặc lưu nó trong một tệp văn bản.

Thông thường, quá trình này khá tẻ nhạt, liên quan đến việc kiểm tra từng ký tự trong một chuỗi văn bản và sau đó đưa ra một số quyết định phải làm gì với nó nếu ký tự đó không nằm trong phạm vi các ký tự được chấp nhận.

VBA bao gồm một phương pháp thú vị có thể được sử dụng để giúp làm sạch văn bản. Nó được gọi là phương thức CleanString. Bạn sử dụng nó như hình ở đây:

sCleanedUp = Application.CleanString(Selection.Text)

Phiên bản này đặt chuỗi sCleanedUp bằng phiên bản “đã được làm sạch” của văn bản đã chọn. Chính xác thì phương thức CleanString làm gì? Nó loại bỏ các ký tự không in được trong phạm vi ANSI từ 1 đến 29, ngoại trừ 7, 9, 10 và 13. Trong trường hợp ký tự ANSI 7, nó sẽ bị xóa trừ khi nó đứng trước ký tự 13, trong trường hợp đó nó được thay thế bằng một tab (ANSI 9). Trong trường hợp ký tự ANSI 10, nó được thay thế bằng ký tự 13 trừ khi đứng trước ký tự 13, trong trường hợp đó, nó sẽ bị xóa. Kí tự 9 và 13 không thay đổi.

Một số ký tự khác ngoài phạm vi từ 1 đến 29 cũng bị ảnh hưởng bởi phương thức CleanString. Ký tự ANSI 31 (dấu gạch nối tùy chọn), ký tự 172 (cũng là dấu gạch nối tùy chọn) và ký tự 182 (ký tự dấu đoạn) đều bị xóa. Ký tự ANSI 160 (khoảng trắng không ngắt), ký tự 176 (một khoảng trắng không ngắt khác) và ký tự 183 (ký tự dấu đầu dòng) được thay thế bằng khoảng trắng. Tất cả các ký tự khác không thay đổi.

_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 (1460) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: