Количество слов в разделе

Автор: | 16.05.2021

Одним из преимуществ полей является то, что вы можете вставлять в документ динамическую информацию. Когда поле обновляется, оно заменяется любой информацией, актуальной относительно используемого поля. Например, вы можете использовать поле 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 SummaryEnd Sub 

Это просто пошаговое руководство по каждому разделу, определение количества слов в этом разделе и отображение сводной информации в окне сообщения. Это не дает возможности динамически вставлять информацию в документ, но дает иллюстрацию того, как можно найти количество слов в отдельном разделе.

Вариант этого метода позволяет вам для автоматической вставки количества слов для определенного раздела в место закладки в документе. Допустим, у вас есть закладка под названием «WordCount», которую вы определили. Эта закладка указывает место, где вы хотите указать количество слов во втором разделе документа. Следующий макрос определит количество слов для указанного раздела, а затем вставит текст в место закладки.

 Sub InsertWordCount () Dim oRange As Word.Range Dim sBookmarkName As String Dim sTemp  В виде строки sBookmarkName = "WordCount" с ActiveDocument sTemp = Format (.Sections (2) .Range.Words.Count, "0") Установить oRange = .Bookmarks (sBookmarkName) .Range oRange.Delete oRange.InsertAfter Text: = sTemp.  Bookmarks.Add Name: = sBookmarkName, Range: = oRange End WithEnd Sub 

Макрос можно легко вызвать из других макросов, например из макроса, который запускается при открытии, сохранении или печати документа. Таким образом, количество слов будет обновляться в обычное время при автоматическом обновлении поля.