Modification du type d’un contrôle de contenu

Les contrôles de contenu que vous pouvez créer dans des documents dans Word 2007 et versions ultérieures sont extrêmement flexibles. Il est généralement facile de modifier le type d’un contrôle. Par exemple, si votre contrôle de contenu est de type date vous pouvez en faire un contrôle de type texte ou s’il est de type texte, le modifier pour adopter le type texte enrichi. Pour ce faire, vous utilisez la propriété Type et définissez-la sur une constante WdContentControlType .

Remarque

Dans certains cas, il est impossible de modifier le type d'un contrôle de contenu en raison de la nature de son contenu. Par exemple, si votre contrôle est de type texte enrichi et contient du texte mis en forme, vous ne pourrez pas en faire un contrôle de type texte brut. Dans ce cas, Word déclenche une erreur d'exécution.

Les objets utilisés dans cet exemple sont les suivants :

L'exemple suivant montre comment insérer un nouveau contrôle de contenu de type date contenant la date actuelle, puis en faire un contrôle de type texte.

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

L’exemple suivant insère un contrôle de contenu de liste déroulante, puis le modifie en contrôle de contenu de texte enrichi.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.