更改内容控件的类型

可以在 Word 2007 及更高版本中的文档中创建的内容控件非常灵活。 大多数情况下,可以轻松转换内容控件的类型。 例如,可以将日期内容控件更改为文本内容控件,或者,将文本内容控件更改为格式文本内容控件。 为此,请使用 Type 属性并将其设置为 WdContentControlType 常量。

注意

根据内容控件内容的不同,也可能无法更改内容控件的类型。 例如,如果格式文本内容控件中包含格式文本,那么可能无法将该控件更改为纯文本内容控件。 此时,Word 会引发一个运行时错误。

以下示例中所用对象如下:

以下示例插入一个包含当前日期的新的日期内容控件,然后将其更改为文本内容控件。

Sub ChangeTypeOfControl() 
 Dim objCC As ContentControl 
 Dim strDate As Date 
 
 strDate = Date 
 Set objCC = Selection.ContentControls.Add(wdContentControlDate) 
 objCC.Range.Text = strDate 
 
 objCC.Type = wdContentControlText 
End Sub

以下示例插入下拉列表内容控件,然后将其更改为富文本内容控件。

Sub ChangeContentControlType() 
 Dim objCC As ContentControl 
 
 Set objCC = ActiveDocument.ContentControls.Add(Type:=wdContentControlDropdownList) 
 objCC.SetPlaceholderText Text:="My Favorite Animal" 
 
 'List entries 
 objCC.DropdownListEntries.Add "Cat" 
 objCC.DropdownListEntries.Add "Dog" 
 objCC.DropdownListEntries.Add "Horse" 
 objCC.DropdownListEntries.Add "Monkey" 
 objCC.DropdownListEntries.Add "Snake" 
 objCC.DropdownListEntries.Add "Other" 
 
 Stop 
 
 ' Switch to view the new content control in the active document. 
 ' Notice that the content control is a drop-down list. 
 
 objCC.Type = wdContentControlRichText 
 
 ' After running the above code, the content control is no longer 
 ' a drop-down; it is a text content control. Only the placeholder 
 ' text remains; Word removes the items in the list. 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。