Spécification de régions de formulaire dans le registre Windows

Pour exécuter un formulaire qui contient une zone de formulaire sur un ordinateur client, vous devez inscrire la zone de formulaire dans le Registre Windows, en spécifiant la classe de message et d’autres informations nécessaires à l’affichage de la zone de formulaire par Microsoft Outlook. Ces informations incluent le nom d’affichage, où la zone de formulaire apparaît dans un formulaire, tout fichier de disposition ou complément qui implémente la zone de formulaire, toutes les actions utilisateur prises en charge et tous les termes localisés pour l’interface utilisateur. La structure de ces informations suit un schéma XML de zone de formulaire ; Pour plus d’informations sur le schéma XML pour les zones de formulaire, consultez la référence de schéma XML Microsoft Outlook 2010 dans MSDN Library.

Il existe plusieurs façons de spécifier les informations relatives à la zone de formulaire dans le Registre. Vous pouvez spécifier le fichier XML de façon explicite, ou bien indiquer le chemin complet d'un fichier XML contenant ces informations et respectant le schéma XML de la zone de formulaire. Vous pouvez également choisir de spécifier le ProgID d'un complément qui fournit à Outlook le manifeste XML de la zone de formulaire. Au démarrage d'Outlook, la liste des zones de formulaire est alors lue dans le Registre et les données associées sont placées en mémoire cache.

Attention La modification incorrecte du Registre Windows peut endommager gravement votre système. Avant d’apporter des modifications au Registre, il est conseillé de sauvegarder les données de valeur stockées dans l’ordinateur.

Enregistrement d'une région de formulaire

Inscrivez les zones de formulaire sous la clé FormRegions dans le Registre Windows, sous la clé d’ordinateur local (comme HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions) ou sous la clé utilisateur actuelle (comme HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions). Sous la clé FormRegions , créez une clé distincte pour chaque classe de message pour laquelle des zones de formulaire ont été créées. Par exemple, l’élément de courrier a la classe de message IPM. Remarque : vous pouvez inscrire toutes les zones de formulaire utilisées pour afficher l’élément de courrier de l’utilisateur actuel sous la clé ,HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Note.

La procédure ci-dessous indique comment enregistrer une zone de formulaire sur l'ordinateur local :

  1. Fermez Outlook.
  2. Ajoutez la clé suivante au Registre si elle n’existe pas déjà : HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions.
  3. Sous la clé FormRegions, ajoutez une clé avec le nom de la classe de message à laquelle la région de formulaire est associée, si cette clé n'existe pas encore. Par exemple, pour créer une région de formulaire pour l'élément de contact, ajoutez une clé avec le nom IPM.Contact, si elle n'existe pas encore.
  4. Pour cette clé, ajoutez une valeur du type REG_SZ et indiquez le nom de l’élément name de la zone de formulaire. Il s’agit du nom interne de la zone de formulaire (seuls sont acceptés les caractères ASCII). Pour spécifier les données, adoptez l'une des méthodes suivantes :
    • Définissez explicitement un fichier XML qui spécifie la disposition, le comportement et les autres caractéristiques de la zone de formulaire, et qui suit le schéma XML de la zone de formulaire. Dans ce cas, faites précéder les données du signe moins (<).
    • Indiquez le ProgID d'un complément qui fournira à Outlook le manifeste XML de la zone de formulaire. Dans ce cas, faites précéder les données du signe égal (=). Par exemple, si le ProgID d’un complément est MyAddinProject1.ConnectClass, spécifiez les données de la clé de la façon suivante : =MyAddinProject1.ConnectClass.
    • Indiquez le chemin complet de fichier local vers un fichier manifeste XML de la zone de formulaire qui décrit la disposition, le comportement et les autres caractéristiques de la zone de formulaire. Si les données ne sont pas précédées du signe moins (<) ou du signe égal (=), Outlook suppose qu’elles correspondent au chemin du fichier manifeste XML de la zone de formulaire. Par exemple, si votre fichier manifeste XML de zone de formulaire, map.xml, se trouve dans c:\Form Regions, vous devez spécifier les données de la clé comme c:\Form Regions\map.xml.

Spécification des régions de formulaire de remplacement pour les formulaires standard

Outlook permet de personnaliser le formulaire standard pour chaque classe de message Outlook en ajoutant des régions de formulaire adjointes ou distinctes. Le tableau ci-dessous contient les formulaires standard et les classes de message correspondantes dans Outlook.

Formulaire standard Classe de message
Rendez-vous IPM. Nomination
Contact IPM. Contact
Entrée du journal IPM. Activité
Demande de réunion IPM. Meeting.Schedule.Request
Message IPM. Note
Publication IPM.Post
Tâche IPM. Demande
Demande de tâche IPM. Tâche

Note Vous ne pouvez pas spécifier de zones de formulaire pour la classe de message Outlook racine, IPM.

Vous pouvez ajouter des zones de formulaire sous forme de pages supplémentaires à un formulaire standard mais vous ne pouvez pas remplacer des pages existantes dans le formulaire standard et conserver le formulaire pour la même classe de message Outlook. Si vous devez remplacer la page par défaut ou toutes les pages d’un formulaire standard, vous devez dériver une nouvelle classe de message pour ce formulaire, spécifier une zone de formulaire de remplacement pour remplacer la page par défaut ou une zone de formulaire replace-all pour remplacer l’intégralité du formulaire, puis inscrire cette zone de formulaire pour la classe de message dérivée.

Par exemple, vous pouvez créer une zone de formulaire de substitution qui remplace la page Général du formulaire Contact, et enregistrer cette zone de formulaire pour une classe de message dérivée de la classe IPM.Contact, comme IPM.Contact.MyContact. En revanche, vous ne pouvez pas enregistrer la zone de formulaire pour la classe de message IPM.Contact.

Quand Outlook ouvre un élément et voit une classe de message dérivée (par exemple, IPM). Contact.MyContact.Personal.Family), recherche une zone de formulaire de remplacement ou replace-all (autrement dit, une zone de formulaire dont l’élément formRegionType est égal à replace ou replaceAll) et qui correspond exactement à la classe de message dérivée, IPM. Contact.MyContact.Personal.Family. En l'absence de correspondance exacte, Outlook essaie IPM.Contact.MyContact.Personal, et en cas d'échec, IPM.Contact.MyContact. Notez qu'Outlook ignore les zones de formulaire de substitution ou de substitution globale pour IPM.Contact. En l'absence de correspondance exacte, Outlook recherche les zones de formulaire dont l'élément formRegionType est égal à adjoining ou separate pour la classe dérivée IPM.Contact.MyContact.Personal.Family.

Régions de formulaire multiples pour la même classe de message

Lorsqu’un ou plusieurs compléments inscrivent des zones de formulaire multiples pour la même classe de message, l’ordre d’affichage des zones de formulaire adjointes dans la page par défaut et l’ordre d’affichage des zones de formulaire distinctes dépendent de l’ordre dans lequel les compléments sont installés et de l’ordre dans lequel les compléments enregistrent les zones de formulaire. Si un complément spécifie plusieurs zones de formulaire adjointes ou distinctes pour une classe de message, le complément peut utiliser l’élément displayAfter pour spécifier l’ordre de ces zones de formulaire. L’ordre spécifié par displayAfter prévaut sur l’ordre des zones de formulaire dans le registre. C'est le seul moyen par lequel les compléments peuvent spécifier l'ordre des zones de formulaire dans un formulaire.

Une fois que les régions de formulaire sont installées sur un ordinateur client, les utilisateurs du formulaire peuvent personnaliser davantage l'ordre des régions de formulaire adjointes en ouvrant le formulaire et en déplaçant les régions de formulaire vers le haut ou le bas sur la page par défaut, par le biais du menu contextuel de l'en-tête de la région de formulaire.

Exemple

Voici un exemple de code XML pour une zone de formulaire pour une classe de message dérivée, IPM. Contact.MapUser. La région de formulaire est appliquée à tous les utilisateurs sur un ordinateur. Le fichier XML, map.xml, se trouve sous C:\Form Regions.

Pour inscrire la zone de formulaire, créez la valeur suivante dans le Registre Windows :

Valeur de Registre Entrée
Clé HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact.MapUser
Nom MapTab
Type REG_SZ
Données c:\Form Regions\map.xml

Voici le contenu du fichier map.xml :

<?xml version="1.0"?> 
<FormRegion xmlns="https://schemas.microsoft.com/office/outlook/12/formregion.xsd">   
    <!-- Internal name --> 
    <name>MapTab</name> 
    <!-- Display name --> 
    <title>Directions</title> 
    <!--  Additive separate form region --> 
    <formRegionType>separate</formRegionType> 
    <!--  Layout file --> 
    <layoutFile>Map.ofs</layoutFile> 
    <!-- Icon for form region in all contexts --> 
    <icons> 
        <default>generic.ico</default> 
    </icons> 
</FormRegion> 

La zone de formulaire est ajoutée au formulaire sous forme de page suivant la dernière page intégrée non masquée dans le formulaire Contact (normalement, il s’agit de la page Tous les champs). La page est appelée Directions et comporte un nom de programmation interne, « MapTab ». Le fichier Map.xml spécifie un fichier de disposition et un fichier d'icône. Notez que tous les chemins de fichier du fichier XML peuvent être spécifiés sous forme de chemins complets ou relatifs par rapport à l'emplacement du fichier manifeste XML de la zone de formulaire.

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.