Utilisation des contrôles de contenu

Que sont les contrôles de contenu ?

Les contrôles de contenu sont des régions liées et étiquetables d'un document, qui servent de conteneurs pour des types de contenus spécifiques. Des contrôles de contenu peuvent comprendre, par exemple, des dates, des listes ou des paragraphes de texte mis en forme. Dans certains cas, les contrôles de contenu peuvent faire penser à des formulaires. Toutefois, ils sont beaucoup plus puissants, flexibles et utiles, car ils permettent de créer des blocs de contenu riches et structurés. Les contrôles de contenu vous permettent de créer des modèles qui insèrent des blocs bien définis dans vos documents. Les contrôles de contenu vous permettent d'effectuer les opérations suivantes :

  • Spécifier des régions structurées dans un modèle. Chaque région structurée ayant son propre ID, vous pouvez y lire et y écrire. Les types de régions structurées (ou contrôles de contenu) sont, par exemple, les zones de liste modifiables, les images, les blocs de texte et les calendriers.

  • Déterminez le comportement des contrôles de contenu. Chaque contrôle de contenu occupe une partie d’un document et, en tant qu’auteur du modèle, vous pouvez spécifier ce que fait chaque région. Par exemple, si vous souhaitez qu’une région de votre modèle soit un calendrier, vous insérez un contrôle de contenu de calendrier dans cette zone du document, qui détermine automatiquement ce que fait ce bloc de contenu. De même, si vous souhaitez qu’une section d’un modèle affiche une image, créez un contrôle de contenu d’image dans cette zone. De cette façon, vous pouvez créer un modèle avec des types de blocs prédéfinis.

  • Limiter la possibilité de modifier les contrôles de contenu au sein d'un document. Vous pouvez limiter chaque contrôle de contenu afin d'empêcher sa suppression ou sa modification. Cela est utile, par exemple, si vous avez dans un modèle des informations de copyright que l'utilisateur doit pouvoir lire, mais ne peut pas modifier. De même, vous pouvez verrouiller un contrôle de contenu que vous avez placé dans un document modèle, de façon à ce qu'un utilisateur ne puisse pas modifier accidentellement le contenu du contrôle. Cela rend les modèles plus stables que dans les versions précédentes.

  • Mapper le contenu d’un contrôle de contenu aux données d’une partie XML personnalisée. Par exemple, si vous insérez des contrôles de contenu en texte brut dans des cellules d’une table des cours boursiers, vous pouvez mapper les contrôles de contenu dans les cellules du tableau aux nœuds d’un fichier XML qui contiennent les cours boursiers actuels. Lorsque les prix changent, un complément peut mettre à jour par programme le fichier XML joint, qui est lié à chaque contrôle de contenu de texte brut, et les nouveaux prix mis à jour apparaissent automatiquement dans le tableau.

La manière la plus simple de créer un contrôle de contenu consiste à se servir de l'interface utilisateur (même si c'est également possible par programmation). Pour créer un contrôle de contenu via l'interface utilisateur (IU), sélectionnez le contenu que vous voulez convertir en contrôle de contenu (par exemple, du texte ou une image), puis choisissez le type de contrôle de contenu souhaité dans la section des contrôles de contenu du ruban pour les développeurs. Cela a pour effet de créer un contrôle de contenu autour du contenu sélectionné.

Contrôles de contenu dans le modèle d'objet Word

Le tableau suivant présente les objets du modèle d'objet Word qui sont associés aux contrôles de contenu.

Nom Description
ContentControl Chaque objet ContentControl représente un contrôle de contenu à l'intérieur d'un document. La collection ContentControls permet d'accéder aux objets ContentControl.
ContentControls Utilisez les propriétés ContentControls des objets Document, Range et Selection pour accéder à la collection de contrôles de contenu. Vous pouvez également utiliser les méthodes SelectContentControlsByTitle et SelectContentControlsByTag de l'objet Document pour accéder à une collection ContentControls qui inclut des contrôles de contenu spécifiques ayant tous le même titre ou la même valeur de balise.
ContentControlListEntry Quand un contrôle de contenu est une liste déroulante ou une zone de liste modifiable, l'objet ContentControlListEntry représente des éléments figurant dans la liste.
ContentControlListEntries Utilisez la propriété DropdownListEntries de l’objet ContentControl pour accéder à tous les éléments d’une liste déroulante ou d’une zone de liste déroulante individuelle.

Chaque objet ou collection offre des méthodes et propriétés qui vous permettent d'utiliser les contrôles de contenu individuellement ou en tant que collection. Comme il existe plusieurs types de contrôles de contenu (voir la section suivante « Types de contrôles de contenu »), il se peut que certaines membres de l'objet ContentControl ne s'appliquent pas à tous les types de contrôles de contenu. Le tableau suivant présente les propriétés et méthodes de l'objet ContentControl qui s'appliquent uniquement à certains types de contrôles de contenu.

Remarque

Pour obtenir la liste complète de toutes les propriétés et méthodes de l’objet ContentControl , consultez Contrôles de contenu.

Propriété/Méthode Applicable aux
Propriété BuildingBlockCategory Contrôles de contenu de la galerie BuildingBlock (wdContentControlBuildingBlockGallery)
Propriété BuildingBlockType Contrôles de contenu de la galerie BuildingBlock (wdContentControlBuildingBlockGallery)
Propriété DateDisplayFormat Contrôles de contenu de date (wdContentControlDate)
Propriété DateDisplayLocale Contrôles de contenu de date (wdContentControlDate)
Propriété DateStorageFormat Contrôles de contenu de date (wdContentControlDate)
Propriété DropdownListEntries Contrôles de contenu de zone de liste modifiable et de liste déroulante (wdContentControlComboBox et wdContentControlDropdownList)
Propriété MultiLine Contrôles de contenu de texte brut (wdContentControlText)
Méthode Ungroup Contrôles de contenu de groupe (wdContentControlGroup)
Méthode SetCheckedSymbol Contrôle de contenu de case à cocher (wdContentControlCheckBox)
Méthode SetUncheckedSymbol Contrôle de contenu de case à cocher (wdContentControlCheckBox)

Types de contrôles de contenu

Il existe huit types différents de contrôles de contenu que vous pouvez ajouter à un document, chacun d’eux étant représenté dans une nouvelle énumération appelée WdContentControlType.

Type de contrôle de contenu Description Constante WdContentControlType
Case à cocher. wdContentControlCheckBox
Calendrier Sélecteur de date-heure. wdContentControlDate
Bloc de construction Permet à l'utilisateur de choisir parmi des blocs de construction spécifiés. wdContentControlBuildingBlockGallery
Liste déroulante Liste déroulante. wdContentControlDropDownList
Groupe Définit une région protégée d'un document, que les utilisateurs ne peuvent pas modifier ou supprimer. Un contrôle de groupe peut contenir des éléments de document tels que du texte, des tableaux, des graphiques et d'autres contrôles de contenu. wdContentControlGroup
Zone de liste modifiable Zone de liste modifiable. wdContentControlComboBox
Image Image. wdContentControlBlockPicture
Texte enrichi Bloc de texte enrichi. wdContentControlRichText
Texte brut Bloc de texte brut. wdContentControlText

Événements de contrôle de contenu

En plus des propriétés et méthodes disponibles avec le modèle d'objet de contrôle de contenu dans Word, vous pouvez utiliser plusieurs événements qui vous permettent d'exécuter du code lors de l'ajout ou de la suppression d'un contrôle de contenu, ou quand un utilisateur modifie un contrôle de contenu. La liste ci-dessous décrit chaque événement et le moment auquel le code d'événement s'exécute. Tous ces événements sont membres de l'objet Document.

Nom de l'événement Description
ContentControlAfterAdd Se produit après l'ajout d'un nouveau contrôle de contenu à un document. Cet événement s'exécute si l'utilisateur ajoute le contrôle de contenu à l'aide des outils de l'interface utilisateur ou à l'aide de code.
ContentControlBeforeContentUpdate Se produit avant que Word mette à jour le contenu d'un contrôle de contenu.
ContentControlBeforeDelete Se produit avant qu'un utilisateur supprime un contrôle de contenu. Cet événement s'exécute si l'utilisateur supprime le contrôle de contenu à l'aide des outils de l'interface utilisateur ou à l'aide de code.
ContentControlBeforeStoreUpdate Se produit avant que Word mette à jour le contenu d'un contrôle de contenu à partir de données du magasin de données du document.
ContentControlOnEnter Se produit quand un utilisateur entre dans un contrôle de contenu.
ContentControlOnExit Se produit quand un utilisateur sort d'un contrôle de contenu.

Utilisation du code

Que vous vouliez ajouter ou supprimer un contrôle de contenu, ou accéder à des contrôles de contenu pour les manipuler, vous pouvez le faire à l'aide de code. Les sections suivantes ne sont que quelques exemples de ce que vous pouvez faire.

Ajout d'un contrôle de contenu

Comme mentionné précédemment, il existe huit types de contrôles de contenu que vous pouvez ajouter à vos documents. La méthode Ajouter de la collection ContentControls permet d'ajouter un contrôle de contenu à un document. L'exemple suivant ajoute un sélecteur de dates au document actif, et définit la valeur de date sur la date actuelle.

Sub AddDatePicker() 
 
    Dim objCC As ContentControl 
    Dim objDate As Date 
 
    Set objCC = ActiveDocument.ContentControls _ 
        .Add(wdContentControlDate) 
    objDate = Date 
    objCC.Range.Text = objDate 
     
End Sub

Utilisez la même construction de base pour ajouter l’un des différents types de contrôles de contenu à un document.

Ajout d'un titre à un contrôle de contenu

La propriété Titre permet d'ajouter un titre à un contrôle de contenu. Il s'agit d'un texte indiquant aux utilisateurs le type de données à entrer dans le contrôle de contenu. L'exemple suivant ajoute un nouveau contrôle du contenu de texte brut au document actif, et définit son titre (texte affiché).

Sub SetTitleForContentControl() 
 
    Dim objCC As ContentControl 
     
    Set objCC = ActiveDocument.ContentControls _ 
        .Add(wdContentControlText) 
         
    objCC.Title = "Please enter your name" 
     
End Sub

Modification du texte d'espace réservé d'un contrôle de contenu

Le texte d'espace réservé est temporaire. Il peut s'agir d'une description d'un ou deux mots (similaire au titre), ou d'une description plus explicite (par exemple, des étapes numérotées). La méthode de modification du texte de l'espace réservé est la même, quel que soit le type de contrôle de contenu ou le contenu attendu du contrôle de contenu. L'exemple suivant ajoute une liste déroulante au document actif, définit le texte de l'espace réservé pour le contrôle, puis remplit la liste avec les noms de plusieurs animaux.

Sub SetPlaceholderText() 
 
    Dim objCC As ContentControl 
     
    Set objCC = Selection.ContentControls _ 
        .Add(wdContentControlComboBox) 
    objCC.Title = "Favorite Animal" 
    objCC.SetPlaceholderText _ 
        Text:="Please select your 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" 
 
End Sub

Il ne s'agit là que de quelques exemples d'utilisation du modèle d'objet pour manipuler des contrôles de contenu dans vos documents. Pour d’autres exemples, consultez la section Procédures.

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.