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.