Partager via


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

Les zones de formulaire personnalisées étendent 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 apparaît sous la forme d’une nouvelle page dans la fenêtre Inspecteur d’un élément de contact. Cette zone de formulaire affiche une carte pour chaque adresse enregistrée du contact, en envoyant les informations d’adresse au site Web de Recherche locale Windows Live. 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 type d’application et de projet Office.

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

  • Création d’un projet de module complémentaire VSTO pour 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 d'Outlook.

Note

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.

Prerequisites

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

lien vers la vidéo Pour une version vidéo de cette rubrique, voir Tutoriel vidéo : Concevoir une zone de formulaire Outlook.

Créer le projet de complément VSTO pour Outlook

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

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

  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 un répertoire pour la solution.

  3. Enregistrez le projet dans n’importe quel répertoire.

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

Ajouter une zone de formulaire au projet de module complémentaire VSTO Outlook

Une solution de complément VSTO pour 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 l’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.

    Assistant Région 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 la page Fournir un texte descriptif et sélectionner vos préférences d'affichage, tapez Map It dans la zone Nom.

    Ce nom apparaît dans 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 la surface du concepteur de région 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 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.

  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 taillesur 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 région de formulaire, le code examine les propriétés d’un élément Outlook et détermine s’il faut afficher la région de formulaire Map It. S’il affiche la zone de formulaire, le code accède à La recherche locale Windows Live et charge une carte de chaque adresse répertoriée dans l’élément de contact Outlook.

Pour personnaliser le comportement de la zone de formulaire

  1. Dans l’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 zone de formulaire nommée MapItFactory est exposée.

  3. 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 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 suivant au gestionnaire d’événements FormRegionShowing . Ce code effectue les tâches suivantes :

    • Concatène chaque adresse dans l’élément de contact et crée une chaîne d’URL.

    • Appelle la Navigate méthode de l’objet WebBrowser et transmet la chaîne d’URL en tant que paramètre.

      Le site web de recherche locale apparaît dans la zone de formulaire "Map It" et présente chaque adresse dans le bloc-notes.

      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

Lorsque vous exécutez le projet, Visual Studio ouvre Outlook. Ouvrez un élément de contact pour afficher la région de formulaire "Map It". La zone de formulaire Map It apparaît sous la forme d’une page sous la forme d’un élément de contact qui contient une adresse.

Pour tester la région du formulaire Map It

  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
    Entreprise 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 Rechercher des personnes.

  6. Dans le groupe Affichage du Ruban de l'élément, cliquez sur Map It pour ouvrir la zone de formulaire Map It.

    La zone de formulaire « Map It » apparaît et montre le site web de Recherche locale. Les adresses Business, Home et Other apparaissent dans le pavé de travail. Dans le panneau de travail, sélectionnez une adresse que vous souhaitez mapper.

Étapes suivantes

Vous pouvez en savoir plus sur la personnalisation de l’interface utilisateur d’une application Outlook à partir de ces rubriques :