Khi bạn đang làm việc với tài liệu — đặc biệt là tài liệu dài do người khác tạo — bạn có thể phải xóa tất cả các trường trong tài liệu. Câu trả lời cho cách bạn làm điều này gần như hoàn toàn phụ thuộc vào ý bạn khi “xóa” một trường.

Nếu bạn muốn loại bỏ các trường và thay thế chúng bằng văn bản thuần thể hiện kết quả của trường, thì phương pháp đơn giản nhất là chọn toàn bộ tài liệu (Ctrl + A) và sau đó nhấn Ctrl + Shift + F9 để “hủy liên kết” các trường. Mỗi nơi có một trường, trường sẽ bị xóa và thay thế bằng kết quả của trường.

Nếu bạn chỉ muốn loại bỏ tất cả các trường và không quan tâm đến việc chúng được thay thế bằng bất kỳ thứ gì, bạn có thể sử dụng các khả năng Tìm và Thay thế của Word. Làm theo các bước sau:

  1. Nhấn Alt + F9. Điều này làm cho tất cả các mã trường trong tài liệu của bạn hiển thị, thay vì kết quả của các trường đó.

  2. 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 1.)

  3. Trong hộp Tìm gì, nhập ^ d làm thông tin bạn đang tìm kiếm (đảm bảo bạn sử dụng chữ thường d). Đây là mã mà Word hiểu là “bất kỳ trường nào.”

  4. Đảm bảo rằng hộp Thay thế Bằng trống.

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

Tất cả các trường trong tài liệu của bạn bây giờ sẽ biến mất. Nếu bạn phải loại bỏ các trường theo cách này khá thường xuyên, bạn nên tạo một macro sẽ xử lý tác vụ cho bạn. Sau đây là một macro ngắn, đơn giản đi qua tất cả các phần của tài liệu của bạn và xóa tất cả các trường.

Sub DeleteFields()

Dim rng As Range

For Each rng In ActiveDocument.StoryRanges         With rng.Fields             While .Count > 0                 .Item(1).Delete             Wend         End With     Next End Sub

Cần lưu ý rằng nếu tài liệu của bạn có nhiều hộp văn bản, macro này sẽ chỉ xóa các trường khỏi tài liệu chính và hộp văn bản đầu tiên. (Đừng hỏi tại sao; nó có vẻ như không ổn trong Word.) Nếu bạn có nhiều trường hơn chỉ trong hộp văn bản đầu tiên, thì bạn sẽ cần một cách tiếp cận macro khác:

Sub DeleteAllFields()

Dim rng As Range     Dim shp As Shape     Dim TxtFrame As TextFrame

For Each rng In ActiveDocument.StoryRanges         With rng.Fields             While .Count > 0                 .Item(1).Delete             Wend         End With

For Each shp In rng.ShapeRange             Set TxtFrame = shp.TextFrame             If Not TxtFrame Is Nothing Then                 If TxtFrame.HasText Then                     With TxtFrame.TextRange.Fields                         While .Count > 0                             .Item(1).Delete                         Wend                     End With                 End If             End If         Next shp     Next rng End Sub

_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í.