Partager via


Programmation de personnalisations au niveau du document

Mise à jour : novembre 2007

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

Version de Microsoft Office

  • Version 2007 de Microsoft Office System

  • Microsoft Office 2003

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

Lorsque vous étendez Microsoft Office Word ou Microsoft Office Excel par le biais d'une personnalisation au niveau du document, vous pouvez effectuer les tâches suivantes :

  • Automatiser l'application Microsoft Office en utilisant le modèle objet de l'application.

  • Ajouter des contrôles à la surface du document.

  • Appeler du code Visual Basic pour Applications (VBA) dans le document depuis l'assembly de personnalisation.

  • Appeler du code dans l'assembly de personnalisation depuis VBA.

  • Gérer certains aspects du document lorsqu'il se trouve sur un serveur sur lequel Microsoft Office n'est pas installé.

  • Personnaliser l'interface utilisateur de l'application.

Pour obtenir des informations générales sur les personnalisations au niveau du document ainsi que sur d'autres types de solutions que vous pouvez créer avec Visual Studio Tools pour Office, consultez Vue d'ensemble du développement des solutions Office.

Code d'écriture dans les projets au niveau du document

Lorsque vous créez un projet au niveau du document, Visual Studio Tools pour Office génère automatiquement dans celui-ci une classe que vous pouvez utiliser pour commencer à écrire votre code. Visual Studio Tools pour Office génère des classes différentes pour Word et Excel :

  • Dans les projets au niveau du document pour Word, la classe est appelée ThisDocument par défaut.

  • Les projets au niveau du document pour Excel comportent plusieurs classes générées : une pour le classeur lui-même et une autre pour chaque feuille de calcul. Par défaut, ces classes portent les noms suivants :

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

La classe générée inclut des gestionnaires d'événements appelés à l'ouverture et à la fermeture du document. Pour exécuter un code à l'ouverture du document, ajoutez celui-ci au gestionnaire d'événements Startup. Pour exécuter du code juste avant la fermeture du document, ajoutez-le au gestionnaire d'événements Shutdown. Pour plus d'informations, consultez Événements de projet Visual Studio Tools pour Office.

Chacune des classes générées automatiquement dans un projet au niveau du document est dérivée d'une classe Visual Studio Tools pour Office appelée élément hôte. Ainsi, la classe ThisDocument d'un projet Word est dérivée de l'élément hôte Microsoft.Office.Tools.Word.Document. Pour plus d'informations, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.

Accès au modèle objet de l'application hôte

Pour accéder au modèle objet de l'application hôte, utilisez des membres de la classe générée dans votre projet. Chacune de ces classes correspond à une classe du modèle objet d'Excel ou Word, et toutes contiennent pour la plupart les mêmes propriétés, méthodes et événements. Par exemple, la classe ThisDocument d'un projet au niveau du document dans Word fournit pour la plupart les mêmes membres que la classe Microsoft.Office.Interop.Word.Document du modèle objet Word.

L'exemple de code suivant indique comment utiliser le modèle objet Word pour enregistrer le document qui fait partie d'une personnalisation au niveau du document pour Word. Cet exemple est destiné à être exécuté depuis la classe ThisDocument.

Me.Save()
this.Save();

Pour effectuer la même opération en dehors de la classe ThisDocument, utilisez l'objet Globals pour accéder à la classe ThisDocument. Pour plus d'informations sur l'objet Globals, consultez Accès global aux objets dans les projets Visual Studio Tools pour Office.

Par exemple, vous pouvez ajouter ce code à un fichier de code de volet Actions si vous souhaitez inclure un bouton Enregistrer dans l'interface utilisateur de celui-ci.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

La classe ThisDocument dérivant de l'élément hôte Microsoft.Office.Tools.Word.Document, la méthode Save appelée dans ce code est vraiment la méthode Save de l'élément hôte Microsoft.Office.Tools.Word.Document. Cette méthode correspond à la méthode Save de la classe Microsoft.Office.Interop.Word.Document du modèle objet Word.

Pour plus d'informations sur l'utilisation des modèles objets de Word et Excel, consultez Vue d'ensemble du modèle objet Word et Vue d'ensemble du modèle objet Excel.

Ajout de contrôles à des documents

Pour personnaliser l'interface utilisateur du document, vous pouvez ajouter des contrôles Windows Forms ou des contrôles hôtes à la surface du document. En combinant plusieurs jeux de contrôles et en écrivant du code, vous pouvez lier les contrôles aux données, rassembler des informations auprès de l'utilisateur et répondre aux actions de celui-ci.

Les contrôles hôtes sont des classes qui étendent certains objets du modèle objet Word et Excel. Par exemple, le contrôle hôte Microsoft.Office.Tools.Excel.ListObject fournit toutes les fonctionnalités de Microsoft.Office.Interop.Excel.ListObject dans Excel. Toutefois, le contrôle hôte Microsoft.Office.Tools.Excel.ListObject contient aussi des événements supplémentaires et des fonctions de liaison de données.

Pour plus d'informations, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes et Vue d'ensemble des contrôles Windows Forms dans les documents Office.

Combinaison de VBA et de personnalisations au niveau du document

Vous pouvez utiliser du code VBA dans un document appartenant à une personnalisation au niveau du document Visual Studio Tools pour Office. Dans tous les projets au niveau du document, vous pouvez appeler du code VBA dans le document à partir de l'assembly de personnalisation. Dans les projets au niveau du document pour la version 2007 de Microsoft Office System, vous pouvez également configurer votre projet pour permettre au code VBA dans le document d'appeler le code dans l'assembly de personnalisation.

Pour plus d'informations, consultez Combinaison de VBA et de personnalisations au niveau du document.

Gestion de documents sur un serveur

Vous pouvez gérer différents aspects des personnalisations au niveau du document sur un serveur qui n'est pas doté de Microsoft Office Word ou de Microsoft Office Excel. Par exemple, vous pouvez accéder aux données du cache de données du document et les modifier. Vous pouvez également gérer l'assembly de personnalisation Visual Studio Tools pour Office associé au document. Par exemple, vous pouvez supprimer par programme l'assembly du document afin que le document n'exécute plus votre code, ou vous pouvez joindre par programme un assembly à un document.

Pour plus d'informations, consultez Gestion de documents sur un serveur à l'aide de la classe ServerDocument.

Personnalisation de l'interface utilisateur des applications Microsoft Office

Vous pouvez personnaliser l'interface utilisateur de Word et d'Excel en ayant recours à une personnalisation au niveau du document.

Versions 2003 et 2007 de Microsoft Office

Pour Microsoft Office 2003 et la version 2007 de Microsoft Office System, vous pouvez personnaliser l'interface utilisateur de la manière suivante :

Version 2007

Pour Word 2007 et Excel 2007, vous pouvez également personnaliser l'interface utilisateur de la manière suivante :

Version 2003

Pour Word 2003 et Excel 2003, vous pouvez également personnaliser l'interface utilisateur de la manière suivante :

Pour plus d'informations sur la personnalisation de l'interface utilisateur des applications Microsoft Office, consultez Personnalisation de l'interface utilisateur Office.

Voir aussi

Tâches

Comment : créer et modifier des propriétés de document personnalisées

Comment : lire des propriétés de document et en écrire

Concepts

Combinaison de VBA et de personnalisations au niveau du document

Gestion de documents sur un serveur à l'aide de la classe ServerDocument

Obtention d'objets étendus à partir d'objets Office natifs dans les personnalisations au niveau du document

Autres ressources

Contrôles sur des documents Office