字段的好处之一是您可以在文档中插入动态信息。更新该字段时,将使用与使用中的字段有关的最新信息替换它。例如,您可以使用NumWords字段在文档中插入单词数。更新该字段时,该字段将替换为文档中的许多单词。

如果您想找出一个部分中的单词数,并将其动态地放置在文档中,那么您就不走运了。没有字段将返回此信息。您可以通过选择本部分中的文本,然后选择“字数统计”工具来手动找到它,但是显然不能满足拥有可插入文档并自动更新的值的需求。

这意味着您将需要依靠宏来获得所需的字数。如果您只想知道文档各部分中的单词数,则以下宏可能会有所帮助。

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

只需简单地遍历每个部分,确定该部分的字数,然后在消息框中显示摘要信息。

这没有提供在文档中动态插入信息的方法,但是确实说明了如何找到单个部分的字数统计。

该技术的一种变体使您可以自动将特定部分的字数插入文档中书签的位置。假设您已经定义了一个名为“ WordCount”的书签。此书签在文档的第二部分中指定了您想要字数的位置。下面的宏将确定指定部分的字数,然后将文本插入书签的位置。

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

可以从其他宏轻松调用该宏,例如在打开,保存或打印文档时运行的宏。这样,当字段自动更新时,字数统计将在所有正常时间更新。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)此技巧(11098)适用于Microsoft Word 2007和2010。您可以在此处为Word的较旧菜单界面找到此技巧的版本:link:/ word -Word_Count_for_a_Section [节的字数]