Partager via


Vue d'ensemble du modèle objet Word

Mise à jour : Juillet 2008

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

  • Projets au niveau de l'application

Version de Microsoft Office

  • Word 2003

  • Word 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Pour développer des solutions Visual Studio Tools pour Office pour Microsoft Office Word, vous pouvez interagir avec le modèle objet Word. Ce modèle objet se compose de classes et interfaces fournies dans l'assembly PIA (Primary Interop Assembly) pour Word et définies dans l'espace de noms Microsoft.Office.Interop.Word.

Cette rubrique décrit les aspects suivants de l'utilisation du modèle objet Word :

  • Fonctionnement du modèle objet Word

  • Objets étendus dans les projets Visual Studio Tools pour Office

  • Utilisation de la documentation relative au modèle objet Word

Pour plus d'informations sur l'utilisation du modèle objet Word pour effectuer des tâches dans des projets Visual Studio Tools pour Office, consultez les rubriques suivantes :

Fonctionnement du modèle objet Word

Word fournit des centaines d'objets avec lesquels vous pouvez interagir. Ces objets sont organisés dans une hiérarchie qui suit de près l'interface utilisateur. Au haut de la hiérarchie figure l'objet Application, qui représente l'instance actuelle de Word. L'objet Application contient les objets Document, Selection, Bookmark et Range. Chacun de ces objets possède de nombreuses méthodes et propriétés auxquelles vous pouvez accéder pour le manipuler et interagir avec.

L'illustration suivante montre une vue de ces objets dans la hiérarchie du modèle objet Word.

Extrait du modèle objet Word

À première vue, il semble y avoir de nombreux chevauchements. Par exemple, les objets Document et Selection sont tous deux membres de l'objet Application, mais l'objet Document est également un membre de l'objet Selection. Les objets Document et Selection contiennent les objets Bookmark et Range. Ce chevauchement s'explique par le fait qu'il existe plusieurs manières d'accéder au même type d'objet. Vous pouvez par exemple appliquer la mise en forme à un objet Range, mais souhaiter accéder à la plage de la sélection actuelle, d'un paragraphe déterminé, d'une section ou du document entier.

Les rubriques suivantes décrivent brièvement les objets de premier niveau et la façon dont ils interagissent les uns avec les autres. Ces objets incluent les cinq éléments suivants :

  • Objet application

  • Objet Document

  • Objet Sélection

  • Objet Range

  • Objet Bookmark

Visual Studio Tools pour Office étend également beaucoup de ces objets dans des éléments hôtes et contrôles hôtes. Ces objets étendus peuvent être utilisés dans des projets au niveau du document ou, à partir de Visual Studio 2008 Service Pack 1 (SP1), dans des projets au niveau de l'application pour Word 2007. Les éléments hôtes et contrôles hôtes présentent des fonctionnalités supplémentaires telles que des fonctionnalités de liaison de données et des événements. Pour plus d'informations sur les contrôles hôtes, consultez Objets étendus dans les projets Visual Studio Tools pour Office.

Objet Application

L'objet Application représente l'application Word et est le parent de l'ensemble des autres objets. Ses membres s'appliquent généralement en bloc à Word. Vous pouvez utiliser ses propriétés et méthodes pour contrôler l'environnement Word.

Dans les projets de complément au niveau de l'application, vous pouvez accéder à l'objet Application à l'aide du champ Application de la classe ThisAddIn. Pour plus d'informations, consultez Programmation de compléments d'application.

Dans les projets au niveau du document, vous pouvez accéder à l'objet Application à l'aide de la propriété Application de la classe ThisDocument.

Objet Document

L'objet Microsoft.Office.Interop.Word.Document est essentiel à la programmation de Word. Il représente un document et l'intégralité de son contenu. Lorsque vous ouvrez ou créez un document, vous créez un objet Microsoft.Office.Interop.Word.Document, qui est ajouté à la collection Documents de l'objet Application. Le document qui a le focus et le document actif. Il est représenté par la propriété ActiveDocument de l'objet Application.

Visual Studio Tools pour Office étend l'objet Microsoft.Office.Interop.Word.Document en fournissant la classe Microsoft.Office.Tools.Word.Document. Cette classe est un élément hôte qui vous donne accès à tous les membres de la classe Microsoft.Office.Interop.Word.Document native et propose d'autres événements, de même que la possibilité d'ajouter des contrôles managés et des balises actives. Pour plus d'informations, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.

Lorsque vous créez un projet au niveau du document, Visual Studio Tools pour Office génère une classe appelée ThisDocument, qui dérive de la classe Microsoft.Office.Tools.Word.Document. Vous pouvez accéder aux membres de la classe Microsoft.Office.Tools.Word.Document à l'aide du mot clé Me ou this à partir du code de la classe ThisDocument, ou en utilisant Globals.ThisDocument à partir du code à l'extérieur de la classe ThisDocument. Par exemple, pour sélectionner le premier paragraphe du document, utilisez le code suivant :

Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();

À partir du SP1, vous pouvez générer des éléments hôtes Microsoft.Office.Tools.Word.Document au moment de l'exécution en utilisant des compléments d'application pour Word 2007. Vous pouvez utiliser l'élément hôte généré pour ajouter des contrôles et des balises actives au document associé. Pour plus d'informations, consultez Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution..

Objet Selection

L'objet Selection représente la zone actuellement sélectionnée. Lorsque vous effectuez une opération dans l'interface utilisateur de Word, comme la mise du texte en gras, vous sélectionnez le texte ou le mettez en surbrillance, puis appliquez la mise en forme. L'objet Selection est toujours présent dans un document. Si rien n'est sélectionné, il représente le point d'insertion. De plus, une sélection peut comprendre plusieurs blocs de texte qui ne sont pas contigus.

Objet Range

L'objet Range représente une zone contiguë dans un document et est défini par une position du caractère de départ et une position du caractère de fin. Vous n'êtes pas limité à un seul objet Range. Vous pouvez définir plusieurs objets Range dans le même document. Un objet Range possède les caractéristiques suivantes :

  • Il peut consister en un point d'insertion seul, une plage de texte ou la totalité du document.

  • Il inclut des caractères non imprimables, tels qu'espaces, tabulations et marques de paragraphe.

  • Il peut correspondre à la zone représentée par la sélection active ou représenter une zone différente de la sélection en cours.

  • Il n'est pas visible dans un document, contrairement à une sélection, qui l'est toujours.

  • Il n'est pas enregistré avec un document et n'existe qu'aussi longtemps que le code est exécuté.

Lorsque vous insérez du texte à la fin d'une plage, Word étend automatiquement la plage pour inclure le texte inséré.

Objets de contrôle de contenu

Un Microsoft.Office.Interop.Word.ContentControl vous permet de contrôler l'entrée et la présentation d'un texte et d'autres types de contenu dans des documents Word 2007. Un Microsoft.Office.Interop.Word.ContentControl peut afficher plusieurs types d'interface utilisateur différents, optimisés pour les documents Word, comme des contrôles de texte enrichi, un sélecteur de date ou une zone de liste déroulante. Vous pouvez également utiliser un Microsoft.Office.Interop.Word.ContentControl pour empêcher des utilisateurs de modifier des sections du document ou du modèle.

Visual Studio Tools pour Office étend l'objet Microsoft.Office.Interop.Word.ContentControl dans plusieurs contrôles hôtes différents. Alors que l'objet Microsoft.Office.Interop.Word.ContentControl peut afficher tous les types d'interface utilisateur disponibles pour les contrôles de contenu, Visual Studio Tools pour Office fournit une classe différente pour chaque type d'interface utilisateur. Par exemple, vous pouvez utiliser un RichTextContentControl pour créer un contrôle de texte enrichi ou un DatePickerContentControl pour créer un sélecteur de dates. Ces contrôles hôtes se comportent de la même manière que le Microsoft.Office.Interop.Word.ContentControl natif, mais possèdent des événements supplémentaires et des fonctionnalités de liaison de données.

Pour plus d'informations, consultez Contrôles de contenu.

Objet Bookmark

L'objet Microsoft.Office.Interop.Word.Bookmark représente une zone contiguë dans un document, avec une position de départ et une position de fin. Les signets servent à marquer un emplacement dans un document ou comme conteneur de texte dans un document. Un objet Microsoft.Office.Interop.Word.Bookmark peut être constitué du point d'insertion ou contenir l'intégralité du document. Un Microsoft.Office.Interop.Word.Bookmark possède les caractéristiques suivantes qui le différencient de l'objet Range :

  • Vous pouvez nommer le signet au moment du design.

  • Les objets Microsoft.Office.Interop.Word.Bookmark sont enregistrés avec le document et ne sont donc pas supprimés à la fin de l'exécution du code ou à la fermeture du document.

  • Les signets peuvent être masqués ou rendus visibles en attribuant à la propriété ShowBookmarks de l'objet View la valeur false ou true.

Visual Studio Tools pour Office étend l'objet Microsoft.Office.Interop.Word.Bookmark dans un contrôle hôte. Le contrôle Microsoft.Office.Tools.Word.Bookmark se comporte comme un Microsoft.Office.Interop.Word.Bookmark natif, mais contient des événements supplémentaires et des fonctionnalités de liaison de données. Vous pouvez lier des données à un contrôle de signet dans un document de la même façon que vous liez des données à un contrôle de zone de texte dans un Windows Form.

Pour plus d'informations, consultez Bookmark, contrôle.

Objets étendus dans les projets Visual Studio Tools pour Office

Il est important de comprendre les différences entre les objets natifs fournis par le modèle objet Word et les objets étendus (éléments hôtes et contrôles hôtes) fournis par Visual Studio Tools pour Office. Les deux types d'objets sont disponibles dans les projets au niveau du document et au niveau de l'application pour Word 2007. Pour plus d'informations, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.

Les différences se situent au niveau des quatre points suivants :

  • Au moment du design. Lorsque vous ajoutez des contrôles Word étendus dans une personnalisation au niveau du document au moment du design, ils sont créés automatiquement sous la forme de contrôles hôtes. Par exemple, si vous ajoutez un signet à un document dans le concepteur, un code est automatiquement généré pour étendre le signet dans un contrôle Microsoft.Office.Tools.Word.Bookmark.

  • Au moment de l'exécution. Les éléments hôtes ne sont pas automatiquement créés au moment de l'exécution. Si vous ajoutez des documents au moment de l'exécution à l'aide de la méthode Add, ils deviennent des objets Microsoft.Office.Interop.Word.Document et n'ont pas les fonctionnalités supplémentaires dont disposent les éléments hôtes Microsoft.Office.Tools.Word.Document. Vous pouvez ajouter par programme des contrôles hôtes à vos documents à l'aide des méthodes d'assistance fournies par Visual Studio Tools pour Office. Pour plus d'informations, consultez Limitations de programmation des éléments hôtes et des contrôles hôtes.

    Remarque :

    À partir du SP1, vous pouvez créer des éléments hôtes Microsoft.Office.Tools.Word.Document au moment de l'exécution en utilisant des compléments d'application pour Word 2007. Pour plus d'informations, consultez Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution..

  • Nouvelles fonctionnalités Les éléments hôtes et contrôles hôtes comportent des fonctionnalités dont les objets natifs ne disposent pas. Les éléments hôtes peuvent être utilisés comme des conteneurs de contrôles managés et ils présentent des événements supplémentaires. Les contrôles hôtes peuvent être liés à des données et ils comportent des événements supplémentaires.

  • Types. Les objets Word natifs utilisent les types définis dans l'espace de noms Microsoft.Office.Interop.Word de l'assembly PIA pour Word, alors que les éléments hôtes et contrôles hôtes utilisent les types définis dans l'espace de noms Microsoft.Office.Tools.Word du runtime de Visual Studio Tools pour Office.

Utilisation de la documentation relative au modèle objet Word

Pour plus d'informations sur les classes que vous pouvez utiliser dans le modèle objet Word, consultez les documents suivants :

Le premier lien fournit des informations sur les classes et interfaces de l'assembly PIA pour Word. Les autres liens proposent des informations sur le modèle objet Word tel qu'exposé au code VBA (Visual Basic pour Applications). Chaque document présente des avantages et des inconvénients pour les développeurs qui utilisent Visual Studio Tools pour Office.

Référence d'assembly PIA

Cette documentation décrit tous les types de l'assembly PIA Word que vous pouvez utiliser dans des projets Visual Studio Tools pour Office. Elle présente toutefois les inconvénients suivants :

  • Elle décrit uniquement les types de l'assembly PIA pour Word 2003. Pour obtenir des descriptions des nouveaux types et membres de l'assembly PIA pour Word 2007, vous devez consulter la référence VBA pour Word 2007.

  • Elle ne contient actuellement pas d'exemples de code.

Référence VBA

Tous les objets et membres de la référence VBA correspondent à des classes et des membres de l'assembly PIA que vous utilisez dans des projets Visual Studio Tools pour Office. Par exemple, l'objet Document de la documentation relative à VBA pour Word correspond à la classe Microsoft.Office.Interop.Word.Document de l'assembly PIA.

La référence VBA présente les avantages suivants :

  • Elle documente les modèles objets de Word 2007 et Word 2003.

  • Elle propose des exemples de code pour la plupart des membres.

La référence VBA présente les inconvénients suivants :

  • Elle fournit uniquement la syntaxe et des exemples de code pour VBA. Pour utiliser les exemples de code dans un projet Visual Studio Tools pour Office, vous devez traduire le code VBA dans Visual Basic ou Visual C#.

Types supplémentaires dans les assemblys PIA

Les assemblys PIA contiennent de nombreux types non disponibles dans VBA. Ces types supplémentaires permettent de convertir des objets du modèle objet COM de Word en code managé. Ils ne sont pas conçus pour être utilisés directement dans votre code.

Pour plus d'informations, consultez Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Voir aussi

Concepts

Utilisation de documents

Utilisation de texte dans des documents

Utilisation de tables

Vue d'ensemble du modèle objet Excel

Vue d'ensemble des éléments hôtes et des contrôles hôtes

Limitations de programmation des éléments hôtes et des contrôles hôtes

Fonctionnement des paramètres optionnels dans les solutions Office

Référence

Assemblys PIA (Primary Interop Assembly) Office

Autres ressources

Contrôles hôtes Word

Historique des modifications

Date

Historique

Raison

Juillet 2008

Ajout d'informations relatives à la création d'éléments hôtes Document dans les compléments d'application.

Modifications de fonctionnalités dans le SP1.