Barry có một tài liệu Word khá lớn (khoảng 50 trang) chứa hàng trăm trường XE dùng để xây dựng chỉ mục. Anh ấy tự hỏi liệu có cách nào để đếm số lượng trường XE tồn tại trong tài liệu mà không liên quan đến việc đếm chúng bằng tay hay không.

Có một số cách mà bạn có thể tiếp cận nhu cầu này. Đầu tiên là dựa vào khả năng Tìm và Thay thế của Word. Đây là các bước đơn giản:

  1. Chọn Tùy chọn từ menu Công cụ. Word hiển thị hộp thoại Tùy chọn.

  2. Đảm bảo rằng tab View được hiển thị. (Xem Hình 1.)

  3. Đảm bảo rằng văn bản ẩn được hiển thị trong tài liệu của bạn. (Chỉ cần đảm bảo rằng hộp kiểm Ẩn hoặc Tất cả được chọn.)

  4. Bấm OK.

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

  6. Trong hộp Tìm gì, nhập “^ 19 XE” (không có dấu ngoặc kép).

  7. Trong hộp Replace With, nhập “^ &” (một lần nữa, không có dấu ngoặc kép).

  8. Nhấp vào Thay thế Tất cả.

Word tìm tất cả các trường XE và hiển thị số lượng thay thế đã được thực hiện. Đây là số lượng mong muốn của bạn. Mã ^ 19 (ở bước 6) là mã ký tự cho dấu ngoặc nhọn trường mở cho biết chỉ các trường được khớp. Bây giờ bạn có thể tắt hiển thị văn bản Ẩn nếu muốn.

Có một số điều cần lưu ý về trình tự các bước này.

Đầu tiên, một số người có thể nghĩ rằng còn thiếu một bước trong phần trên:

nhấn Alt + F9 để hiển thị tất cả các mã trường trong tài liệu.

Trên thực tế, bước này không bắt buộc vì các trường XE luôn được hiển thị, miễn là văn bản ẩn hiển thị. Nói cách khác, nhấn Alt + F9 không ảnh hưởng đến màn hình của chúng theo cách này hay cách khác. Tuy nhiên, nếu bạn đang đếm một trường khác với trường XE, bạn sẽ muốn hiển thị mã trường trước khi thực hiện các bước.

Một điều cần lưu ý nữa là Word khá khoan dung khi nói đến số lượng khoảng trắng có thể theo sau dấu ngoặc nhọn trường mở. Các bước trên chỉ tìm thấy các trường XE trong đó một khoảng trắng ngăn cách giữa dấu ngoặc nhọn trường mở (^ 19) và mã XE. Nếu các trường của bạn chứa nhiều khoảng trắng hơn (hoặc không có khoảng trắng), thì những trường hợp đó của trường sẽ không được tính. Vì lý do này, bạn có thể chỉ muốn tìm kiếm XE (không có mã ^ 19 và dấu cách) và bật hộp kiểm Match Case. Điều này sẽ hoạt động miễn là không có trường hợp nào khác của ký tự XE viết hoa trong tài liệu của bạn.

Ngoài ra còn có một số macro đơn giản mà bạn có thể sử dụng để đếm các trường XE. Nếu các trường duy nhất trong tài liệu của bạn là các trường XE, thì thực tế macro rất đơn giản:

Sub CountFields()

Dim iCnt As Integer

iCnt = ActiveDocument.Fields.Count     MsgBox "There are " & iCnt & " fields in the document."

End Sub

Tuy nhiên, cách tiếp cận này sẽ không hoạt động nếu có các trường khác trong tài liệu của bạn. Hãy nhớ — các trường được sử dụng để thực sự đặt chỉ mục của bạn trong một tài liệu. Vì vậy, nếu bạn đang sử dụng các trường XE cho các mục nhập chỉ mục, có thể bạn đang sử dụng một trường để chèn chỉ mục thực tế. Và tất nhiên, có thể có nhiều trường khác trong tài liệu của bạn cho các mục đích khác. Trong trường hợp này, macro của bạn cần kiểm tra từng trường và xác định xem đó có phải là trường XE hay không.

Sub CountXEFields()

Dim iCnt As Integer     Dim f As Field

For Each f In ActiveDocument.Fields         If f.Type = wdFieldIndexEntry Then iCnt = iCnt + 1     Next     MsgBox "There are " & iCnt & " XE fields in the document."

End Sub

Macro này kiểm tra thuộc tính Loại của từng đối tượng Trường để đảm bảo rằng đó là trường XE. Nếu vậy, nó được thêm vào số đếm và sau đó số lượng được hiển thị ở cuối macro.

_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 (11752) á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: