Объект variable (Word)
Представляет переменную, хранящуюся в составе документа. Переменные документа используются для сохранения параметров макроса между сеансами макросов. Объект Variable является членом коллекции Variables . Коллекция Переменные включает все переменные документа в документе или шаблоне.
Используйте переменные (Index), где Index — это имя переменной документа или номер индекса, чтобы вернуть один объект Variable . В следующем примере отображается значение переменной temp document в активном документе.
MsgBox ActiveDocument.Variables("Temp").Value
Номер индекса представляет позицию переменной документа в коллекции Variables . Последняя переменная, добавленная в коллекцию Variables , — индекс номер 1; Вторая к последней переменной, добавленная в коллекцию, — индекс номер 2 и т. д. В следующем примере отображается имя первой переменной документа в активном документе.
MsgBox ActiveDocument.Variables(1).Name
Используйте метод Add коллекции Variables , чтобы добавить переменную в документ. В следующем примере в активный документ добавляется переменная документа "Temp" со значением 12.
ActiveDocument.Variables.Add Name:="Temp", Value:="12"
При попытке добавить переменную документа с именем, которое уже существует в коллекции Variables , возникает ошибка. Чтобы избежать этой ошибки, можно перечислить коллекцию перед добавлением новых переменных. Если переменная blue document уже существует в активном документе, в следующем примере устанавливается значение 6. Если эта переменная еще не существует, в этом примере она добавляется в документ и устанавливается значение 6.
For Each aVar In ActiveDocument.Variables
If aVar.Name = "Blue" Then num = aVar.Index
Next aVar
If num = 0 Then
ActiveDocument.Variables.Add Name:="Blue", Value:=6
Else
ActiveDocument.Variables(num).Value = 6
End If
Переменные документа невидимы для пользователя, если в поле DOCVARIABLE не вставляется соответствующее имя переменной. В следующем примере переменная документа с именем Temp добавляется в активный документ, а затем вставляется поле DOCVARIABLE для отображения значения в переменной.
With ActiveDocument
.Variables.Add Name:="Temp", Value:="12"
.Fields.Add Range:=Selection.Range, _
Type:=wdFieldDocVariable, Text:="Temp"
End With
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
Чтобы добавить переменную документа в шаблон, откройте шаблон как документ с помощью метода OpenAsDocument . В следующем примере имя пользователя (из диалогового окна Параметры ) сохраняется в шаблоне, присоединенном к активному документу.
ScreenUpdating = False
With ActiveDocument.AttachedTemplate.OpenAsDocument
.Variables.Add Name:="UserName", Value:=Application.UserName
.Close SaveChanges:=wdSaveChanges
End With
Справочник по объектной модели Word
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.