Procédure pas à pas : conception d'une zone de formulaire Outlook
Les zones de formulaire personnalisées permettent d'étendre les formulaires Microsoft Office Outlook standard ou personnalisés. Dans cette procédure pas à pas, vous allez concevoir une zone de formulaire personnalisée qui s'affiche comme une nouvelle page dans la fenêtre Inspecteur d'un élément de contact. Cette zone de formulaire affiche une carte correspondant à chaque adresse répertoriée pour le contact, en envoyant les informations d'adresse au site Web Windows Live Local Search. Pour plus d'informations sur les zones de formulaire, consultez Création de zones de formulaire Outlook.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau application pour Outlook 2007 et Outlook 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Cette procédure pas à pas décrit les tâches suivantes :
Création d'un projet de complément Outlook.
Ajout d'une zone de formulaire au projet de complément.
Conception de la disposition de la zone de formulaire.
Personnalisation du comportement de la zone de formulaire.
Test de la zone de formulaire Outlook.
Notes
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. Ces éléments dépendent de l'édition de Visual Studio dont vous disposez et des paramètres que vous utilisez. Pour plus d'informations, consultez Utilisation des paramètres.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :
-
Une édition de Visual Studio 2010 qui inclut les outils de développement Microsoft Office. Pour plus d'informations, consultez [Configuration d'un ordinateur pour développer des solutions Office](bb398242\(v=vs.100\).md).
- Microsoft Office Outlook 2007 ou Outlook 2010
Pour obtenir une version vidéo de cette rubrique, consultez Vidéo Comment : concevoir une zone de formulaire Outlook (éventuellement en anglais).
Création d'un projet de complément Outlook
Commencez par créer un projet de complément de base.
Pour créer un projet de complément Outlook
Dans Visual Studio, créez un projet de complément Outlook et nommez-le MapItAddIn.
Dans la boîte de dialogue Nouveau projet, sélectionnez Créer le répertoire pour la solution.
Enregistrez le projet dans le répertoire de votre choix.
Pour plus d'informations, consultez Comment : créer des projets Office dans Visual Studio.
Ajout d'une zone de formulaire au projet de complément Outlook 2007
Une solution de complément Outlook peut contenir un ou plusieurs éléments de zone de formulaire Outlook. Ajoutez un élément de zone de formulaire à votre projet à l'aide de l'Assistant Nouvelle zone de formulaire Outlook.
Pour ajouter une zone de formulaire au projet de complément Outlook
Dans l'Explorateur de solutions, sélectionnez le projet MapItAddIn.
Dans le menu Projet, cliquez sur Ajouter un nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Zone de formulaire Outlook, nommez le fichier MapIt, puis cliquez sur Ajouter.
L'Assistant Nouvelle zone de formulaire Outlook démarre.
Sur la page Sélectionnez la méthode de création de la zone de formulaire, cliquez sur Créer une nouvelle zone de formulaire, puis sur Suivant.
Sur la page Sélectionnez le type de zone de formulaire que vous souhaitez créer, cliquez sur Séparer, puis sur Suivant.
Une zone de formulaire distincte ajoute une nouvelle page à un formulaire Outlook. Pour plus d'informations sur les types de zones de formulaire, consultez Création de zones de formulaire Outlook.
Saisissez Afficher la carte dans la zone Nom de la page Fournissez un texte descriptif et sélectionnez vos préférences d'affichage.
Ce nom apparaît sur le ruban de la fenêtre Inspecteur lorsque l'élément de contact est ouvert.
Sélectionnez Inspecteurs qui sont en mode composition et Inspecteurs qui sont en mode lecture, puis cliquez sur Suivant.
Sur la page Identifiez les classes de message qui afficheront cette zone de formulaire, désélectionnez Message, sélectionnez Contact, puis cliquez sur Terminer.
Un fichier MapIt.cs ou MapIt.vb est ajouté à votre projet.
Conception de la disposition de la zone de formulaire
Pour développer visuellement des zones de formulaire, utilisez le Concepteur de zones de formulaire. Vous pouvez faire glisser des contrôles managés vers la surface du Concepteur de zones de formulaire. Utilisez le Concepteur et la fenêtre Propriétés pour ajuster la disposition et l'apparence des contrôles.
Pour concevoir la disposition de la zone de formulaire
Dans l'Explorateur de solutions, développez le projet MapItAddIn, puis double-cliquez sur MapIt.cs ou MapIt.vb pour ouvrir le Concepteur de zones de formulaire.
Cliquez avec le bouton droit sur le Concepteur et sélectionnez Propriétés.
Dans la fenêtre Propriétés, définissez la Taille sur 664, 469.
De cette façon, vous êtes sûr que la zone de formulaire sera suffisamment grande pour afficher une carte.
Dans le menu Affichage, cliquez sur Boîte à outils.
Dans l'onglet Contrôles communs de la Boîte à outils, ajoutez un WebBrowser à la zone de formulaire.
Le WebBrowser affichera une carte correspondant à chaque adresse répertoriée pour le contact.
Personnalisation du comportement de la zone de formulaire
Ajoutez du code aux gestionnaires d'événements de zone de formulaire pour personnaliser le comportement d'une zone de formulaire au moment de l'exécution. Pour cette zone de formulaire, le code examine les propriétés d'un élément Outlook et détermine s'il doit afficher la zone de formulaire Afficher la carte. S'il affiche la zone de formulaire, le code accède à Windows Live Local Search et charge une page pour chaque adresse répertoriée dans l'élément de contact Outlook.
Pour personnaliser le comportement de la zone de formulaire
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur MapIt.cs ou MapIt.vb et sélectionnez Afficher le code.
MapIt.cs ou MapIt.vb s'ouvre dans l'éditeur de code.
Développez la région de code Fabrique de zones de formulaire.
La classe de fabrique de zones de formulaire nommée MapItFactory est exposée.
Ajoutez le code suivant au gestionnaire d'événements MapItFactory_FormRegionInitializing. Ce gestionnaire d'événements est appelé lorsque l'utilisateur ouvre un élément de contact. Le code suivant détermine si l'élément de contact contient une adresse. Si l'élément de contact ne contient pas d'adresse, ce code affecte la valeur true à la propriété Cancel de la classe FormRegionInitializingEventArgs et la zone de formulaire n'est pas affichée. Sinon, le complément déclenche l'événement FormRegionShowing et affiche la zone de formulaire.
Private Sub MapItFactory_FormRegionInitializing(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs) Handles Me.FormRegionInitializing Dim myItem As Outlook.ContactItem = CType(e.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.BusinessAddress Is Nothing) AndAlso myItem.BusinessAddress.Trim().Length > 0 Or (Not (myItem.HomeAddress Is Nothing) AndAlso myItem.HomeAddress.Trim().Length > 0) Or (Not (myItem.OtherAddress Is Nothing) AndAlso myItem.OtherAddress.Trim().Length > 0) Then Return End If End If e.Cancel = True End Sub
private void MapItFactory_FormRegionInitializing(object sender, Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e) { Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem; if (myItem != null) { if ((myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) || (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) || (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)) { return; } } e.Cancel = true; }
Ajoutez le code suivant au gestionnaire d'événements FormRegionShowing. Ce code exécute les tâches suivantes :
Concatène chaque adresse de l'élément de contact et crée une chaîne d'URL.
Appelle la méthode Navigate de l'objet WebBrowser et passe la chaîne d'URL en tant que paramètre.
Le site Web Local Search apparaît dans la zone de formulaire Afficher la carte et présente chaque adresse dans la mémoire brouillon.
Private Sub MapIt_FormRegionShowing(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.FormRegionShowing Dim tempLoc As String = "" Dim defaultAddress As String = "" Dim scratchPadAddress As String = "" Dim myItem As Outlook.ContactItem = _ CType(Me.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.HomeAddress Is Nothing) And _ myItem.HomeAddress.Trim().Length > 0 Then tempLoc = myItem.HomeAddressStreet.Trim() + " " _ + myItem.HomeAddressCity + " " + myItem.HomeAddressState + _ " " + myItem.HomeAddressPostalCode If myItem.HomeAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Home" Else scratchPadAddress += "adr." + tempLoc + "_Home~" End If End If If Not (myItem.BusinessAddress Is Nothing) And _ myItem.BusinessAddress.Trim().Length > 0 Then tempLoc = myItem.BusinessAddressStreet.Trim() + " " _ + myItem.BusinessAddressCity + " " + _ myItem.BusinessAddressState + " " + _ myItem.BusinessAddressPostalCode If myItem.BusinessAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Business" Else scratchPadAddress += "adr." + tempLoc + "_Business~" End If End If If Not (myItem.OtherAddress Is Nothing) And _ myItem.OtherAddress.Trim().Length > 0 Then tempLoc = myItem.OtherAddressStreet.Trim() + " " + _ myItem.OtherAddressCity + " " + myItem.OtherAddressState + _ " " + myItem.OtherAddressPostalCode If myItem.OtherAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Other" Else scratchPadAddress += "adr." + tempLoc + "_Other~" End If End If End If WebBrowser1.Navigate(("http://local.live.com/default.aspx?style=r&where1=" _ + defaultAddress + "&sp=" + scratchPadAddress)) End Sub
private void MapIt_FormRegionShowing(object sender, EventArgs e) { string tempLoc = ""; string defaultAddress = ""; string scratchPadAddress = ""; Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem; if (myItem != null) { if (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) { tempLoc = myItem.HomeAddressStreet.Trim() + " " + myItem.HomeAddressCity + " " + myItem.HomeAddressState + " " + myItem.HomeAddressPostalCode; if (myItem.HomeAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Home"; } else { scratchPadAddress += "adr." + tempLoc + "_Home~"; } } if (myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) { tempLoc = myItem.BusinessAddressStreet.Trim() + " " + myItem.BusinessAddressCity + " " + myItem.BusinessAddressState + " " + myItem.BusinessAddressPostalCode; if (myItem.BusinessAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Business"; } else { scratchPadAddress += "adr." + tempLoc + "_Business~"; } } if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0) { tempLoc = myItem.OtherAddressStreet.Trim() + " " + myItem.OtherAddressCity + " " + myItem.OtherAddressState + " " + myItem.OtherAddressPostalCode; if (myItem.OtherAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Other"; } else { scratchPadAddress += "adr." + tempLoc + "_Other~"; } } } webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" + defaultAddress + "&sp=" + scratchPadAddress); }
Test de la zone de formulaire Outlook
Lorsque vous exécutez le projet, Visual Studio ouvre Outlook. Ouvrez un élément de contact pour afficher la zone de formulaire Afficher la carte. La zone de formulaire Afficher la carte s'affiche comme une page dans le formulaire de tout élément de contact contenant une adresse.
Pour tester la zone de formulaire Afficher la carte
Appuyez sur F5 pour exécuter le projet.
Outlook s'ouvre.
Dans Outlook, créez un contact en effectuant l'une des tâches suivantes :
Dans Outlook 2010, sous l'onglet Accueil, cliquez sur Nouveaux éléments, puis sur Contact.
Dans le menu Fichier d'Outlook 2007, pointez sur Nouveau, puis cliquez sur Contact.
Dans le formulaire de contact, saisissez Ann Beebe comme nom de contact, puis spécifiez les trois adresses suivantes.
Type d'adresse
Adresse
Bureau
4567, rue principale 72200 Le Mans
Début
1234, rue des lilas 72200 Le Mans
Autre
3456, rue de Paris 12345 Uneville
Enregistrez et fermez l'élément de contact.
Rouvrez l'élément de contact Ann Beebe.
Dans le groupe Afficher du ruban de l'élément, cliquez sur Afficher la carte pour ouvrir la zone de formulaire Afficher la carte.
La zone de formulaire Afficher la carte apparaît et affiche le site Web Local Search. Les adresses des champs Bureau, Domicile et Autre apparaissent dans la mémoire brouillon. Sélectionnez l'adresse pour laquelle vous souhaitez afficher une carte.
Étapes suivantes
Pour plus d'informations sur la personnalisation de l'interface utilisateur d'une application Office, consultez les rubriques suivantes :
- Pour en savoir plus sur la personnalisation du ruban d'un élément Outlook, consultez Personnalisation d'un ruban pour Outlook.
Voir aussi
Tâches
Procédure pas à pas : importation d'une zone de formulaire conçue dans Outlook
Comment : ajouter une zone de formulaire à un projet de complément Outlook
Comment : empêcher Outlook d'afficher une zone de formulaire
Comment : accéder à l'élément Outlook qui affiche la zone de formulaire
Concepts
Accès à une zone de formulaire au moment de l'exécution
Directives pour la création de zones de formulaire Outlook
Association d'une zone de formulaire à une classe de message Outlook
Actions personnalisées dans les zones de formulaire Outlook