Количество слов в разделе (Microsoft Word)
Одним из преимуществ полей является то, что вы можете вставлять в документ динамическую информацию. Когда поле обновляется, оно заменяется любой информацией, актуальной относительно используемого поля. Например, вы можете использовать поле 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 — самая популярная программа для обработки текстов в мире.) Этот совет (519) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Word_Count_for_a_Section [Количество слов в разделе]
.