Word中的VBA:以编程方式添加具有样式的内容控件

Word中的VBA:以编程方式添加具有样式的内容控件,vba,ms-word,word-style,Vba,Ms Word,Word Style,当使用VBA以编程方式将富格文本内容控件添加到Word.docm时,是否有方法为内容设置样式 作为比较,如果我使用Word Developer工具栏手动创建内容控件,我可以在内容控件的属性对话框中选择“使用样式格式化内容”。我想要的结果与我那样做的结果相同,只是我需要用代码来做 下面是我添加内容控件的代码,它由一个命令按钮单击触发,该按钮还执行其他一些操作: Private Sub selConcept_Click() ActiveDocument.InlineShapes(1).De

当使用VBA以编程方式将富格文本内容控件添加到Word.docm时,是否有方法为内容设置样式

作为比较,如果我使用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

如果已经创建了样式,则可以按如下方式指定:

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"

伟大的我可以使用我已经添加到文档中的样式,但是知道如何添加样式也很好,我尝试了两种方法,效果都很好,我可能会通过添加样式来结束,出于各种原因,这可能会更好。非常感谢。@user3762977 Np,是的,添加您的样式是可以的。但是请注意,如果样式已经存在,它将生成一个错误。因此,在添加之前,请确保先添加错误处理程序或迭代现有样式(如果已存在)。如果在应用所需格式时录制宏,则可以查看宏录制器创建的vba模块,该模块将显示所需的代码。