Макрос для кода поля

В настоящее время у меня есть макрос Normal.dot, который подсчитывает количество слов в текущем разделе:

Sub SectionWordCount()
  Dim SectionWordCount As String
  SectionWordCount = ActiveDocument.Sections _
  (Selection.Information(wdActiveEndSectionNumber)). _
    Range.ComputeStatistics(wdStatisticWords)
MsgBox "The current section has " & SectionWordCount & " words."
End Sub

Можно ли связать этот макрос с «кодом поля» в моем документе? Или сделать так, чтобы этот счетчик отображался в документе, используя любую другую форму вуду VBA?

Я использую Word 2013 на Windows 8.

Еще раз спасибо всем.


person Quicksand10    schedule 28.07.2014    source источник


Ответы (1)


Вот как связать вашу переменную с кодом поля.

В документе Word вставьте в текст поле DOCVARIABLE. Если я назову эту переменную «wrdCount», код поля будет выглядеть так:

{DOCVARIABLE wrdCount \* MERGEFORMAT}

Затем присвойте значение вашему документу в VBA и обновите код поля:

 ActiveDocument.Variables("wrdCount").Value = SectionWordCount
 ActiveDocument.Fields.Update

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

person joeschwa    schedule 28.07.2014
comment
Спасибо, @joeschwa. Работал отлично. - person Quicksand10; 05.08.2014