Поделиться через


Изменение элемента управления с одного типа на другой

Элементы управления содержимым, которые можно создавать в документах в Word 2007 и более поздних версиях, очень гибки. В большинстве случаев элемент управления содержимым можно легко переключать с одного типа на другой. Например, если у вас есть элемент управления содержимым даты, его можно изменить на элемент управления текстовым содержимым, а если у вас есть элемент управления текстовым содержимым, его можно изменить на элемент управления с содержимым в формате форматированного текста. Для этого используйте свойство Type и присвойте ему константу WdContentControlType .

Примечание.

В зависимости от содержимого элемента управления содержимым вы не сможете изменить тип элемента управления содержимым. Например, если у вас есть элемент управления содержимым в формате форматированного текста, возможно, вы не сможете изменить элемент управления как элемент управления с открытым текстом. В этом случае Word вызывает ошибку во время выполнения.

В этом примере используются следующие объекты:

В следующем примере вставляется новый элемент управления содержимым date, содержащий текущую дату, а затем он изменяется на элемент управления текстовым содержимым.

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 и обратная связь.