Compartilhar via


Alterar um controle de conteúdo de um tipo para outro

Os controles de conteúdo que você pode criar em documentos no Word 2007 e posteriores são extremamente flexíveis. Na maioria dos casos, é possível alternar facilmente um controle de conteúdo de um tipo para outro. Por exemplo, se você tiver um controle de conteúdo de data, poderá alterá-lo para um controle de conteúdo de texto ou se você tiver um controle de conteúdo de texto, poderá alterá-lo para um controle de conteúdo de rich-text. Para fazer isso, use a propriedade Type e defina-a como uma constante WdContentControlType .

Observação

Dependendo do conteúdo de um controle de conteúdo, você não poderá alterar o tipo de controle de conteúdo. Por exemplo, se você tiver um controle de conteúdo de rich-text que contém texto formatado, você não poderá alterar o controle para ser um controle de conteúdo de texto sem formatação. Neste caso, o Word gera um erro em tempo de execução.

Os objetos usados neste exemplo são:

O exemplo a seguir insere um novo controle de conteúdo de data que contém a data atual e, em seguida, o altera para ser um controle de conteúdo de texto.

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

O exemplo a seguir insere um controle de conteúdo de lista suspensa e, em seguida, altera-o para ser um controle de conteúdo de texto avançado.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.