2015-04-25 64 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

相關問題