Share via


Architecture des personnalisations au niveau du document

Visual Studio 2012 inclut des projets qui vous permettent de créer des personnalisations au niveau du document pour Microsoft Office Word et Microsoft Office Excel.Cette rubrique décrit les aspects des personnalisations au niveau du document suivants :

  • Fonctionnement des personnalisations

  • Composants de personnalisations

  • Fonctionnement des personnalisations avec les applications Microsoft Office

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document pour les applications suivantes : Excel 2013, Excel 2010, Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Pour plus d'informations générales sur la création de personnalisations au niveau du document, consultez Vue d'ensemble du développement des solutions Office, Mise en route de la programmation des personnalisations au niveau du document pour Word et Mise en route de la programmation des personnalisations au niveau du document pour Excel.

Fonctionnement des personnalisations

Lorsque vous utilisez les outils de développement Office dans Visual Studio pour générer une personnalisation au niveau du document, vous créez un assembly de code managé associé à un document spécifique.Un document ou un classeur lié à un assembly lié est réputé avoir des extensions de code managé.Pour plus d’informations, consultez Conception et création de solutions Office.

Lorsqu'un utilisateur ouvre le document, l'assembly est chargé par l'application Microsoft Office.Une fois l'assembly chargé, la personnalisation peut répondre à des événements tandis que le document est ouvert.La personnalisation peut également appeler le modèle objet afin d'automatiser et d'étendre l'application tandis que le document est ouvert, de même qu'utiliser une classe quelconque du .NET Framework.

L'assembly communique avec les composants COM de l'application à travers l'assembly PIA (Primary Interop Assembly) de celle-ci.Pour plus d'informations, consultez Assemblys PIA (Primary Interop Assembly) Office et Vue d'ensemble du développement des solutions Office.

Si l'utilisateur ouvre plusieurs personnalisations au niveau du document en même temps, chaque assembly est chargé dans un domaine d'application différent.Cela signifie qu'une solution qui se comporte de manière incorrecte ne peut pas provoquer l'échec d'autres solutions.Les personnalisations au niveau du document sont conçues pour utiliser un document unique dans un domaine d'application unique.Elles ne sont pas conçues pour communiquer entre plusieurs documents.Pour plus d'informations sur les domaines d'application, consultez Domaines d'application.

[!REMARQUE]

Les personnalisations au niveau du document que vous créez à l'aide des outils de développement Office dans Visual Studio sont conçues pour être utilisées uniquement lorsque l'application Microsoft Office hôte est démarrée par un utilisateur final.Si l'application est démarrée par programme, par exemple, à l'aide de l'automation, la personnalisation peut ne pas fonctionner comme prévu.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifExpériences au moment du design et de l'exécution

Pour comprendre l'architecture des personnalisations au niveau du document, il est utile de comprendre les expériences en matière de conception et d'exécution d'une solution.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifLors du design

L'expérience au moment du design inclut les étapes suivantes :

  1. Le développeur crée un projet au niveau du document dans Visual Studio.Ce projet comprend le document et l'assembly qui s'exécute derrière le document.Le document peut être existant (éventuellement créé par un concepteur) ou être un nouveau document créé en même temps que le projet.

  2. Le fournis par le concepteur le développeur qui crée le projet ou quelqu'un d'autre- crée l'apparence finale du document pour l'utilisateur final.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifLors de l'exécution

L'expérience au moment de l'exécution inclut les étapes suivantes :

  1. L'utilisateur final ouvre un document ou un classeur comportant des extensions de code managé.

  2. Le document ou le classeur charge l'assembly compilé.

  3. L'assembly répond aux événements tandis que l'utilisateur travaille dans le document ou le classeur.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifComparaison du point de vue du développeur et de l'utilisateur final

Comme le développeur travaille principalement dans Visual Studio et l'utilisateur final dans Word ou Excel, les personnalisations au niveau du document peuvent être comprises de deux manières.

Point de vue du développeur

Point de vue de l'utilisateur final

À l'aide de Visual Studio, le développeur écrit du code accessible par Word et Excel.

Bien qu'il semble que le développeur crée un fichier exécutable qui exécute Word ou Excel, le processus contourne en fait cette opération.Le document est associé à un assembly et contient un pointeur vers cet assembly.Lorsque le document s'ouvre, Word ou Excel recherche l'assembly et exécute le code en réponse à tous les événements gérés.

Les personnes qui utilisent la solution ouvrent simplement le document ou le classeur (ou créent un document à partir d'un modèle) exactement comme elles ouvriraient un autre fichier Microsoft Office.

L'assembly fournit des personnalisations dans le document ou le classeur, telles que le remplissage automatique de données ou l'affichage d'une boîte de dialogue pour demander des informations.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifFormats de document pris en charge pour les personnalisations au niveau du document

Lorsque vous créez un projet de personnalisation, vous pouvez choisir le format du document que vous souhaitez utiliser dans le projet.Pour plus d’informations, consultez Comment : créer des projets Office dans Visual Studio.

Le tableau suivant répertorie les formats de document que vous pouvez utiliser dans les personnalisations au niveau du document pour Excel et Word.

Excel

Word

Classeur Excel (.xlsx)

Classeur Excel prenant en charge les macros (.xlsm)

Classeur Excel binaire (.xlsb)

Classeur Excel 97-2003 (.xls)

Modèle Excel (.xltx)

Modèle Excel prenant en charge les macros (.xltm)

Modèle Excel 97-2003 (.xlt)

Document Word (.docx)

Document Word prenant en charge les macros (.docm)

Document Word 97-2003 (.doc)

Modèle Word (.dotx)

Modèle Word prenant en charge les macros (.dotm)

Modèle Word 97-2003 (.dot)

Vous ne devez concevoir des extensions de code managé que pour les documents dont le format est pris en charge.Sinon, certains événements peuvent ne pas être déclenchés lors de l'ouverture du document dans l'application.Par exemple, l'événement d' Open n'est pas déclenché lorsque vous utilisez des extensions de code managé avec des classeurs sauvegardés dans le format de feuille de calcul XML excel ou dans la page Web (.htm ; format de .html).

zcfbd2sk.collapse_all(fr-fr,VS.110).gifPrise en charge des documents Word avec une extension de nom de fichier .xml

Les modèles de projet au niveau du document ne vous permettent pas de créer des projets avec les formats de fichier suivants :

  • Document XML Word (* xml)

  • Document XML Word 2003 (* xml)

Si vous voulez que les utilisateurs finaux utilisent des personnalisations dans ces formats de fichier, générez et déployez une personnalisation utilisant un des formats de fichier pris en charge spécifiés dans le tableau ci-dessus.Après l'installation de la personnalisation, les utilisateurs finaux peuvent enregistrer le document au format de document XML (*xml) Word ou au format de document XML (*xml) Word 2003. La personnalisation continuera de fonctionner comme prévu.

Composants de personnalisations

Les composants principaux d'une personnalisation sont le document et l'assembly.On y trouve également plusieurs autres parties qui jouent un rôle important dans la façon dont les applications Microsoft Office localisent et chargent des personnalisations.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifManifeste de déploiement et manifeste d'application

Les personnalisations utilisent des manifestes de déploiement et d'application pour identifier et charger la version la plus récente de l'assembly de personnalisation.Le manifeste de déploiement pointe vers le manifeste d'application actuel.Le manifeste de l'application pointe quant à lui vers l'assembly de personnalisation et spécifie la classe (ou les classes) du point d'entrée à exécuter dans l'assembly.Pour plus d’informations, consultez Manifestes d'application et de déploiement dans les solutions Office.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifVisual Studio Tools pour Office Runtime

Pour exécuter des personnalisations au niveau du document créés à l'aide des outils de développement Office dans Visual Studio, Visual Studio Tools pour Office Runtime doit être installé sur les ordinateurs des utilisateurs finaux.Visual Studio Tools pour Office Runtime inclut des composants non managés qui chargent l'assembly de personnalisation et également un jeu d'assemblys managés.Ces assemblys managés fournissent le modèle objet utilisé par votre code de personnalisation pour automatiser et étendre l'application hôte.

Pour plus d’informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.

Fonctionnement des personnalisations avec les applications Microsoft Office

Lorsqu'un utilisateur ouvre un document qui fait partie d'une personnalisation Microsoft Office, l'application utilise le manifeste de déploiement lié au document pour localiser et charger la version la plus récente de l'assembly de personnalisation.L'emplacement du manifeste de déploiement est stocké dans une propriété de document personnalisée appelée _AssemblyLocation.La chaîne qui identifie cet emplacement est insérée dans la propriété lorsque vous générez la solution.

Le manifeste de déploiement pointe vers le manifeste d'application, qui pointe alors vers l'assembly le plus récent.Pour plus d’informations, consultez Manifestes d'application et de déploiement dans les solutions Office.

L'illustration suivante montre l'architecture de base d'une personnalisation au niveau du document.

Architecture de la personnalisation

Architecture de personnalisation d'Office 2007

[!REMARQUE]

Dans les solutions Office qui ciblent .NET Framework 4, appelez de solutions dans le modèle objet de l'application hôte à l'aide de les informations de type (PIA) de l'assembly PIA incorporées dans l'assembly de solution, au lieu d'appeler l'assembly PIA directement.Pour plus d’informations, consultez Conception et création de solutions Office.

zcfbd2sk.collapse_all(fr-fr,VS.110).gifProcessus de chargement

Les étapes suivantes se produisent lorsqu'un utilisateur ouvre un document faisant partie d'une solution Microsoft Office.

  1. L'application Microsoft Office vérifie les propriétés de document personnalisées pour voir si des extensions de code managé sont associées au document.Pour plus d’informations, consultez Vue d'ensemble des propriétés de document personnalisées.

  2. S'il existe des extensions de code managé, l'application charge VSTOEE.dll, qui charge à son tour VSTOLoader.dll.Ce sont des DLL non managées qui sont des composants du chargeur pour Visual Studio 2010 tools pour Office Runtime.Pour plus d’informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.

  3. VSTOLoader.dll charge le .NET Framework et démarre la partie managée de Visual Studio Tools pour Office Runtime.

  4. Si le document est ouvert depuis un emplacement autre que l'ordinateur local, Visual Studio Tools pour Office Runtime vérifie que l'emplacement du document figure dans la liste Emplacements approuvés des Paramètres Trust Center pour cette application Office particulière.Si le document ne se trouve pas dans un emplacement approuvé, la personnalisation n'est pas approuvée et le processus de chargement s'interrompt.

  5. Visual Studio Tools pour Office Runtime installe la solution si elle n'a pas encore été installée, télécharge l'application et les manifestes de déploiement les plus récents et exécute une série de vérifications de sécurité.Pour plus d’informations, consultez Sécurisation des solutions Office.

  6. Si la personnalisation est approuvée, Visual Studio Tools pour Office Runtime utilise le manifeste de déploiement et le manifeste de l'application pour rechercher des mises à jour d'assembly.Si une nouvelle version de l'assembly est disponible, le runtime la télécharge dans le cache ClickOnce de l'ordinateur client.Pour plus d’informations, consultez Déploiement d'une solution Office.

  7. Visual Studio Tools pour Office Runtime crée un nouveau domaine d'application dans lequel charger l'assembly de la personnalisation.

  8. Visual Studio Tools pour Office Runtime charge l'assembly de la personnalisation dans le domaine d'application.

  9. Visual Studio Tools pour Office Runtime appelle le gestionnaire d'événements Startup dans votre assembly de personnalisation.Pour plus d’informations, voir Événements dans les projets Office.

Voir aussi

Concepts

Architecture des compléments d'application

Vue d'ensemble de Visual Studio Tools pour Office Runtime

Vue d'ensemble des propriétés de document personnalisées

Données mises en cache dans des personnalisations au niveau du document

Autres ressources

Architecture des solutions Office dans Visual Studio

Sécurisation des solutions Office

Conception et création de solutions Office