В отличие от полей формы, несколько элементов управления содержимым Word могут иметь одно и то же обозначение (имя - фактический термин Title
).По этой причине невозможно использовать строку в качестве значения индекса - она не гарантируется быть уникальной.
По этой причине необходимо использовать метод SelectContentControlsByTitle
(или SelectContentControlsByTag
) для выборадо объекта управления контентом.Метод возвращает Collection элементов управления содержимым - все они имеют одинаковые заголовок или тег.(Примечание: они чувствительны к регистру!).
Если код должен работать со всеми этими элементами управления содержимым, используйте цикл For Each
с коллекцией.
Если код долженработать только с одним элементом управления контентом (например, первым), это можно указать с помощью свойства ContentControls.Item
.
Предполагается, что в документе имеется только один флажок с обозначением "Лицензирование_1":
Sub CheckBox_CC()
Dim ccCheckBox As Word.ContentControl
Dim doc As Word.Document
Set doc = ActiveDocument
Set ccCheckBox = doc.SelectContentControlsByTitle("Licensing_1").Item(1)
If ccCheckBox.Checked Then
'Do things here
End If
End Sub