Lisa cần một cách để tìm hai từ cuối cùng trong tất cả các đoạn văn của tài liệu và thay thế khoảng cách giữa các từ đó bằng một khoảng trắng không ngắt. Cô ấy tự hỏi liệu điều này có khả thi bằng cách sử dụng Tìm và Thay thế hay không.

Cách dễ nhất để làm điều này mà không cần sử dụng macro là dựa vào khả năng ký tự đại diện của Tìm và Thay thế. Chìa khóa để làm điều này là hãy nhớ rằng bạn không thực sự cần xác định hai từ cuối cùng trong những gì bạn tìm thấy — bạn chỉ cần xác định từ cuối cùng, với khoảng trống trước nó. Làm theo các bước sau:

  1. Nhấn Ctrl + H. Word hiển thị tab Thay thế của hộp thoại Tìm và Thay thế.

  2. Nhấp vào nút Thêm, nếu nó hiển thị. (Xem Hình 1.)

  3. Chọn hộp kiểm Sử dụng ký tự đại diện.

  4. Trong hộp Tìm gì, hãy nhập cái này: () ([0-9A-Za-z ~ -] \ {1,}) ([. \! \? \:]) (^ 13). Trong hộp Thay thế Bằng, nhập sau: ^ s \ 2 \ 3 \ 4. Nhấp vào Thay thế Tất cả.

Làm thế nào điều này thực sự hoạt động có thể chỉ cần một chút giải thích. Bí quyết ở đây là những gì bạn đang tìm kiếm, được chỉ định trong bước 4. Mỗi phần tử đang được tìm kiếm được bao quanh bởi (dấu ngoặc đơn), do đó, dễ dàng chọn ra và tham khảo chúng trong hộp Thay thế Bằng (bước 5). Bốn phần tử trong hộp Tìm gì (một lần nữa, được bao quanh bởi dấu ngoặc đơn) như sau:

  1. ()

  2. ([0-9A-Za-z ~ -] \ {1,})

  3. ([. \! \? \:])

  4. (^ 13)

Phần tử đầu tiên là một không gian duy nhất. Thứ hai là bất kỳ số chữ số, chữ cái hoặc dấu gạch ngang. (Đây là phần cuối cùng của phần tử này – \ {1,} – chỉ định có thể có bất kỳ số chữ số, chữ cái hoặc dấu gạch ngang nào.) Đây là phần tử chỉ định từ ở cuối đoạn và nó bao gồm khả năng từ có chứa dấu gạch ngang để các từ ghép được coi như một từ đơn. Phần tử thứ ba là bất kỳ dấu câu nào được hiển thị và phần tử thứ tư là điểm đánh dấu cuối đoạn thực tế.

Đặc tả Replace With (bước 5) chỉ cần thay thế phần tử đầu tiên (khoảng trắng) bằng một khoảng trắng không ngắt, sau đó đặt phần tử thứ hai, thứ ba và thứ tư trở lại vị trí.

Cần lưu ý rằng có một số trường hợp mà phương pháp Tìm và Thay thế này sẽ không hoạt động. Đầu tiên, nó sẽ không hoạt động nếu đoạn văn của bạn có khoảng trắng ở cuối, giữa dấu câu và dấu cuối đoạn. Bạn có thể sử dụng Tìm và Thay thế để loại bỏ những điều này trong toàn bộ tài liệu của mình trước khi thực hiện Tìm và Thay thế ở trên.

Tình huống thứ hai mà nó sẽ không hoạt động là nếu đoạn văn của bạn kết thúc bằng dấu câu ghép, chẳng hạn như dấu chấm theo sau dấu trích dẫn hoặc dấu trích dẫn theo sau bởi dấu hai chấm. Tìm kiếm theo ký tự đại diện cho rằng chỉ có một dấu câu duy nhất ở cuối đoạn và nó phải là một trong bốn dấu câu được chỉ định.

Tình huống thứ ba mà nó sẽ không hoạt động là nếu có một số loại dấu câu trong từ cuối cùng của đoạn văn. Ví dụ: nếu từ cuối cùng thực sự là một số chẳng hạn như 1,234 thì việc bao gồm dấu phẩy sẽ ngăn trận đấu xảy ra. Điều này có thể được giải quyết bằng cách thêm dấu phẩy vào phần tử thứ hai đang được tìm kiếm, nhưng số lần điều này có thể xảy ra dường như đủ nhỏ để tôi không cho phép trong các bước trên.

Nếu bạn thích phương pháp thay thế dựa trên macro, bạn có thể cân nhắc sử dụng macro sau:

Sub LastTwo()

Dim p As Paragraph     Dim J As Integer     Dim K As Integer     Dim sTemp As String

For Each p In ActiveDocument.Paragraphs         J = p.Range.Words.Count         For K = J To 1 Step -1             sTemp = p.Range.Words(K)

If Right(sTemp, 1) = " " Then                 p.Range.Words(K) = RTrim(sTemp) & Chr(160)

K = 1             End If         Next K     Next p End Sub

Macro bước qua từng đoạn trong tài liệu của bạn và sau đó lùi lại qua các từ trong đoạn. Nó tìm kiếm từ đầu tiên chứa khoảng trắng ở cuối, sau đó thay thế khoảng trắng đó bằng khoảng trắng không ngắt.

Có một điều thú vị về macro này — nó có thể không hoạt động như mong đợi trên tất cả các hệ thống. Nếu sau khi chạy nó, bạn không nhận được khoảng trắng không ngắt mà thay vào đó là dấu “gạch chéo” nhỏ giữa hai từ cuối cùng, thì chỉ cần thay thế Chr (160) trong mã bằng Chr (202). Sẽ dễ dàng hơn nhiều nếu Word bao gồm một kiểu liệt kê được xác định cho một khoảng trắng không ngắt, nhưng không. Thay vào đó, bạn cần phải dựa vào mã ASCII để có một khoảng trắng không ngắt, dường như không giống nhau trên tất cả các hệ thống.

_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 (13577) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365.