2015-04-25 63 views
3

当使用VBA以编程方式将丰富文本内容控件添加到Word .docm时,是否可以为内容设置样式?Word中的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 
+0

您声明并设置了“doc”,但实际上并未使用它。 – L42

+0

L42:Thx,这是从一个较旧的尝试剩余,我忘了删除它。编辑帖子。 – user3762977

+0

如果您在应用所需格式时录制宏,则可以查看宏录制器创建的vba模块,该模块会显示您需要的代码。 –

回答

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" 
+0

太好了。我可以使用我添加到文档中的样式,但是也很好地知道如何添加样式,我尝试了两种方法,它可以工作,我可以通过添加样式来结束样式,这可能因各种原因更好。谢谢一堆。 – user3762977

+0

@ user3762977 Np和耶加入你的风格是好的。但请注意,如果样式已经存在,则会产生错误。因此,确保添加一个错误处理程序或在现有样式中迭代,如果在添加之前它已经存在。 – L42

相关问题