Một trong những lợi ích của các trường là bạn có thể chèn thông tin động trong tài liệu của mình. Khi trường được cập nhật, nó được thay thế bằng bất kỳ thông tin nào hiện có liên quan đến trường đang sử dụng. Ví dụ: bạn có thể sử dụng trường NumWords để chèn số lượng từ trong tài liệu. Khi trường được cập nhật, nó được thay thế bằng tuy nhiên sau đó có nhiều từ trong tài liệu.

Nếu bạn muốn tìm ra số lượng từ trong một phần và đặt nó động trong một tài liệu, thì bạn đã không gặp may. Không có trường nào trả lại thông tin này. Bạn có thể tìm ra nó theo cách thủ công bằng cách chọn văn bản trong phần và sau đó chọn công cụ Word Count, nhưng điều đó rõ ràng không đáp ứng mong muốn có một giá trị có thể được chèn vào tài liệu của bạn và được cập nhật tự động.

Điều này có nghĩa là bạn sẽ cần phải dựa vào macro để có được số lượng từ mong muốn. Nếu bạn chỉ muốn biết số lượng từ trong mỗi phần của tài liệu, macro sau có thể hữu ích.

Sub WordCount()

Dim NumSec As Integer     Dim S As Integer     Dim Summary As String

NumSec = ActiveDocument.Sections.Count     Summary = "Word Count" & vbCrLf

For S = 1 To NumSec         Summary = Summary & "Section " & S & ": " _           & ActiveDocument.Sections(S).Range.Words.Count _           & vbCrLf     Next

Summary = Summary & "Document: " & _       ActiveDocument.Range.Words.Count     MsgBox Summary End Sub

Thao tác này chỉ cần bước qua từng phần, xác định số lượng từ trong phần đó và hiển thị thông tin tóm tắt trong hộp thông báo.

Điều này không cung cấp một cách để chèn động thông tin trong tài liệu, nhưng nó cung cấp một minh họa về cách bạn có thể tìm số từ của một phần.

Một biến thể về kỹ thuật này cho phép bạn tự động chèn số lượng từ cho một phần cụ thể tại vị trí của dấu trang trong tài liệu của bạn. Giả sử bạn có một bookmark được gọi là “WordCount” mà bạn đã xác định. Dấu trang này chỉ định nơi bạn muốn số từ trong phần thứ hai của tài liệu. Macro sau sẽ xác định số lượng từ cho phần được chỉ định, rồi chèn văn bản vào vị trí của dấu trang.

Sub InsertWordCount()

Dim oRange As Word.Range     Dim sBookmarkName As String     Dim sTemp As String

sBookmarkName = "WordCount"

With ActiveDocument         sTemp = Format(.Sections(2).Range.Words.Count, "0")

Set oRange = .Bookmarks(sBookmarkName).Range         oRange.Delete         oRange.InsertAfter Text:=sTemp         .Bookmarks.Add Name:=sBookmarkName, Range:=oRange     End With End Sub

Có thể dễ dàng gọi macro từ các macro khác, chẳng hạn như macro chạy khi tài liệu được mở, lưu hoặc in. Bằng cách đó, số lượng từ sẽ được cập nhật vào mọi thời điểm bình thường khi một trường được cập nhật tự động.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.