VBA в Word: программно добавить управление контентом со стилем

При программном добавлении элемента управления расширенным текстовым содержимым в Word .docm с использованием VBA, есть ли способ установить стиль для содержимого?

Для сравнения, если я создаю элемент управления содержимым вручную с помощью панели инструментов Word Developer, я могу выбрать "Использовать стиль для форматирования содержимого" в диалоговом окне свойств элемента управления содержимым. Результат, который я хочу, такой же, как если бы я сделал это таким образом, за исключением того, что мне нужно сделать это в коде.

Вот код, который у меня есть, который добавляет элемент управления контентом, он запускается нажатием командной кнопки, что также делает несколько других вещей:

Private Sub selConcept_Click()

    ActiveDocument.InlineShapes(1).Delete
    ActiveDocument.InlineShapes(3).Delete
    ActiveDocument.InlineShapes(3).Delete

    Dim oCC As ContentControl
    Set oCC = ActiveDocument.ContentControls.Add(wdContentControlRichText, _
              Selection.Range)
    oCC.SetPlaceholderText , , "My placeholder text is here."
    oCC.Title = "Concept"
End Sub

1 ответ

Решение

Если вы уже создали стиль, вы можете просто назначить его следующим образом:

oCC.DefaultTextStyle = "style_name"

Теперь, если нет, вам придется сначала добавить свой стиль. Что-то вроде:

ActiveDocument.Styles.Add Name:="MyStyle1", Type:=wdStyleTypeCharacter
With ActiveDocument.Styles("MyStyle1").Font
    .Name = "Arial"
    .Size = 12
    .Bold = True
    .Color = RGB(255, 0, 0) 'you can use RGB here
End With

oCC.DefaultTextStyle = "MyStyle1"
Другие вопросы по тегам