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.