Procédure pas à pas : Concevoir une zone de formulaire Outlook

Les zones de formulaire personnalisées étendent les formulaires Microsoft Office Outlook standard et 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 de toutes les adresses répertoriées 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éer des zones de formulaire Outlook.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets de complément VSTO pour Outlook. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Cette procédure pas à pas décrit les tâches suivantes :

  • Création d’un projet de complément VSTO Outlook.

  • Ajout d’une zone de formulaire au projet de complément VSTO

  • Conception de la disposition de la zone de formulaire

  • Personnalisation du comportement de la zone de formulaire

  • Test de la zone de formulaire Outlook

Remarque

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. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE Visual Studio.

Prérequis

Vous devez disposer des éléments suivants pour exécuter cette procédure pas à pas :

link to video Pour obtenir une version vidéo de cette rubrique, voir Vidéo : Concevoir une zone de formulaire Outlook.

Créer un projet de complément VSTO Outlook

Commencez par créer un projet de complément VSTO de base.

Pour créer un projet de complément VSTO Outlook

  1. Dans Visual Studio, créez un projet de complément VSTO Outlook avec le nom MapItAddIn.

  2. Dans la boîte de dialogue Nouveau projet , sélectionnez Créer le répertoire pour la solution.

  3. Enregistrez le projet dans un répertoire quelconque.

    Pour plus d’informations, consultez Guide pratique pour créer des projets Bureau dans Visual Studio.

Ajouter une zone de formulaire au projet de complément VSTO Outlook

Une solution de complément VSTO 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 VSTO Outlook

  1. Dans Explorateur de solutions, sélectionnez le projet MapItAddIn.

  2. Dans le menu Projet , cliquez sur Ajouter un nouvel élément.

  3. Dans la boîte de dialogue Ajouter un nouvel élément , sélectionnez Région de formulaire Outlook, nommez le fichier MapIt, puis cliquez sur Ajouter.

    L’Assistant Zone de formulaire NewOutlook démarre.

  4. Dans la page Sélectionner la façon dont vous souhaitez créer la zone de formulaire , cliquez sur Concevoir une nouvelle zone de formulaire, puis sur Suivant.

  5. Dans la zone Sélectionner 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éer des zones de formulaire Outlook.

  6. Dans le texte descriptif Fournir et sélectionner votre page de préférences d’affichage, tapez Mapper dans la zone Nom .

    Ce nom apparaît sur le ruban de la fenêtre Inspecteur lorsque l'élément de contact est ouvert.

  7. Sélectionnez Inspecteurs en mode composition et Inspecteurs en mode lecture, puis cliquez sur Suivant.

  8. Dans la page Identifier les classes de message qui affichent cette page de zone de formulaire, désactivez le message électronique, sélectionnez Contact, puis cliquez sur Terminer.

    Un fichier MapIt.cs ou MapIt.vb est ajouté à votre projet.

Concevoir la disposition de la zone de formulaire

Développez visuellement des zones de formulaire à l’aide du concepteur de zones de formulaire. Vous pouvez faire glisser des contrôles managés vers l'aire du Concepteur de zones de formulaire. Utilisez le concepteur et la fenêtre Propriétés pour ajuster la disposition et l’apparence du contrôle.

Pour concevoir la disposition de la zone de formulaire

  1. Dans 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.

  2. Cliquez avec le bouton droit sur le concepteur, puis cliquez sur Propriétés.

  3. Dans la fenêtre Propriétés , définissez La taille sur 664, 469.

    Cela garantit que la zone de formulaire sera suffisamment grande pour afficher une carte.

  4. Dans le menu Affichage , cliquez sur Boîte à outils.

  5. Sous l’onglet Contrôles communs de la boîte à outils, ajoutez un WebBrowser à la zone de formulaire.

    WebBrowser affiche une carte de chaque adresse répertoriée pour le contact.

Personnaliser le comportement de la zone de formulaire

Ajoutez du code aux gestionnaires d'événements de zone de formulaire pour personnaliser la façon dont une zone de formulaire se comporte 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 faut afficher la zone de formulaire Carte. S'il affiche la zone de formulaire, le code accède à Windows Live Local Search et charge une carte de toutes les adresses répertoriées dans l'élément de contact Outlook.

Pour personnaliser le comportement de la zone de formulaire

  1. Dans Explorateur de solutions, cliquez avec le bouton droit sur MapIt.cs ou MapIt.vb, puis cliquez sur Afficher le code.

    MapIt.cs ou MapIt.vb s’ouvre dans l’Éditeur de code.

  2. Développez la zone de code Form Region Factory .

    La classe de fabrique de zones de formulaire MapItFactory est exposée.

  3. Ajoutez le code ci-après au gestionnaire d'événements MapItFactory_FormRegionInitializing. Ce gestionnaire d'événements est appelé quand 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 définit la Cancel propriété de la FormRegionInitializingEventArgs classe sur true et la zone de formulaire n’est pas affichée. Sinon, le complément VSTO déclenche l’événement FormRegionShowing et affiche la zone de formulaire.

    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;
    }
    
  4. Ajoutez le code ci-après au gestionnaire d'événements FormRegionShowing. Ce code effectue les tâches suivantes :

    • Concatène chaque adresse figurant dans 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 Carte et présente chaque adresse dans la zone temporaire.

      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);
      
      }
      

Tester la zone de formulaire Outlook

Quand vous exécutez le projet, Visual Studio ouvre Outlook. Ouvrez un élément de contact pour afficher la zone de formulaire Carte. La zone de formulaire Carte s'affiche en tant que page dans le formulaire de tout élément de contact contenant une adresse.

Pour tester la zone de formulaire Carte

  1. Appuyez sur F5 pour exécuter le projet.

    Outlook s'ouvre.

  2. Dans Outlook, sous l’onglet Accueil , cliquez sur Nouveaux éléments, puis sur Contact.

  3. Dans le formulaire de contact, tapez Ann Beebe comme nom de contact, puis spécifiez les trois adresses suivantes.

    Type d'adresse Adresse
    Métier 4567 Main St. Buffalo, NY
    Accueil 1234 North St. Buffalo, NY
    Autres 3456 Main St. Seattle, WA
  4. Enregistrez et fermez l'élément de contact.

  5. Rouvrez l’élément de contact Ann Beebe .

    Dans Outlook, vous pouvez le faire dans le groupe Rechercher en ouvrant le carnet d’adresses pour les contacts ou en tapant Ann Beebe dans La recherche Personnes.

  6. Dans le groupe Afficher le ruban de l’élément, cliquez sur Mapper pour ouvrir la zone de formulaire Mapper.

    La zone de formulaire Carte apparaît et affiche le site web Local Search. Les adresses Business, Home et Other apparaissent dans le pavé de travail. Dans la zone temporaire, sélectionnez une adresse que vous souhaitez cartographier.

Étapes suivantes

Pour plus d'informations sur la personnalisation de l'interface utilisateur d'une application Outlook, consultez les rubriques suivantes :