Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / Développement / Créer un plugin Outlook 2010

Créer un plugin Outlook 2010

Introduction

Dans le cadre de l’extension d’une application de partage de fichiers pour l’un de nos clients, celui-ci voulait utiliser son service de partage au travers d’Outlook 2010.

Concrètement, lors de l’envoi d’un email avec une pièce jointe si celle-ci dépasse une certaine taille alors elle sera envoyée à  travers de partage l’application (grâce à un Web Service précédemment créer)  plutôt que par email.

Nous allons découvrir dans cet article comment surcharger l’envoi d’un email sur Outlook 2010 pour faire des actions personnalisées et comment créer un fichier d’installation.

Ce dont nous avons besoin

  • Visual Studio 2010
  • Office 2010

Implémentation

  1. 1.    Création de la solution

Lancer Visual Studio 2010 et créer un projet de type « Complément Outlook 2010 » :


  1. 2.     Composition de la solution

Une fois la solution créée, nous retrouvons les éléments suivants dans l’explorateur de solutions :



Le fichier qui va nous intéresser est « ThisAddIn.cs ».

Celui-ci va contenir le code dont nous avons pour intercepter et modifier l’envoi d’un email.

A la création, nous pouvons voir 2 méthodes :

  • ThisAddIn_Startup
  • ThisAddIn_Shutdown

La méthode ThisAddIn_Startup est appelée au lancement d’Outlook, elle correspond au chargement de notre AddIn.

La méthode ThisAddIn_Shutdown est appelée à la fermeture d’Outlook, elle correspond au déchargement de notre AddIn.

  1. 3.    Préparation du code

Ajout des références :

1 using
Microsoft.Office.Interop.Outlook;

Ajout des variables et constantes :

1

2

3

4

5

6

7

public
Application OutlookApplication;

public
Inspectors OutlookInspectors;

public
Inspector OutlookInspector;

public
MailItem OutlookMailItem;

Modifier la méthode ThisAddIn_Startup afin d’initialiser nos variables et s’abonner aux différents événements  et ajouter le code suivant :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

private
void
ThisAddIn_Startup(object
sender, System.EventArgs e)

{

       // Instanciation de l’application

OutlookApplication = Application as
Application;

// Récupération des « inspectors »

OutlookInspectors = OutlookApplication.Inspectors;

// Abonnement à l’événement d’inspection

OutlookInspectors.NewInspector += new
Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(OutlookInspectors_NewInspector);

// Abonnement à l’événement d’envoi d’email

OutlookApplication.ItemSend += new
Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemSendEventHandler(OutlookApplication_ItemSend);

}

Créer ensuite les 2 événements suivants :

1

2

3

4

5

6

7

8

9

10

11

void
OutlookInspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)

{

}

void
OutlookApplication_ItemSend(object
Item, ref
bool
Cancel)

{

}

Le 1er événement se charge d’inspecter les différentes actions faites par l’utilisateur.

Le 2nd  nous permet d’intercepter l’envoi d’un email (bouton « Envoyer ») et de faire des actions spécifiques.

  1. 4.    Interception et modification de l’email

Pour intercepter notre email, nous allons utiliser l’événement « OutlookInspectors_NewInspector » vu dans le paragraphe précédent, vérifier que l’on manipule un objet de type « MailItem » et l’affecter dans notre variable « OutlookMailItem ».  Cette variable nous permettra de manipuler l’email lors de l’envoi.

Pour cela, ajouter le code suivant dans l’événement :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

void
OutlookInspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)

{

// Récupération de « l’inspector »

OutlookInspector = (Inspector)Inspector;

// Test sur le type, ici « MailItem » nous intéresse

if
(Inspector.CurrentItem is
MailItem)

{

     // Récupération de l’objet dans la variable « OutlookMailItem »

     OutlookMailItem = (MailItem)Inspector.CurrentItem;

}

}

Nous allons maintenant modifier l’événement « OutlookApplication_ItemSend » et afficher le contenu de celui-ci dans une boite de dialogue.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

void
OutlookApplication_ItemSend(object
Item, ref
bool
Cancel)

{

try

       {

            System.Windows.Forms.MessageBox.Show(« Contenu de l’email : « 
+ OutlookMailItem.Body);

       }

       catch
(System.Exception ex)

       {

            System.Windows.Forms.MessageBox.Show(ex.Message);

    // On annule l’envoi

            Cancel = true;

       }

}

Voici le résultat obtenu :


Nous allons maintenant modifier le contenu de l’email envoyé :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

void
OutlookApplication_ItemSend(object
Item, ref
bool
Cancel)

{

try

       {

           // Modification du contenu de l’email

           string
sBody = « —\r\n »;

           sBody += « Ce mail a été modifié automatiquement ! »;

           // Ajout de notre texte à la suite du mail.

           OutlookMailItem.Body += sBody;

}

catch
(System.Exception ex)

{

            System.Windows.Forms.MessageBox.Show(ex.Message);

    // On annule l’envoi

            Cancel = true;

}

}

Le mail reçu a bien été modifié :


  1. 5.    Création d’un fichier d’installation

Créer sous Visual Studio un nouveau projet de type « Projet d’installation ».



Dans l’explorateur de solutions, faire un clic droit sur le nouveau projet, puis ajouter « sortie de projet ».



Sélectionnez « Sortie principale ».



Après l’ajout, dans la liste des dépendances détectées, exclure les dépendances suivantes :

  • Microsoft.Office.Tools.Common.dll
  • Microsoft.Office.Tools.dll
  • Microsoft.Office.Tools.Outlook.dll
  • Microsoft.Office.Tools.v4.0.Framework.dll
  • Microsoft.VisualStudio.Tools.Applications.Runtime.dll
  • Stdole.dll

Vos dépendances devraient ressembler à ça :



Se rendre dans l’éditeur du système de fichier et ajouter les 2 fichiers suivants depuis le répertoire « bin\release » du projet :

  • MonAddinOutlook.dll.manifest
  • MonAddinOutlook.vsto



Se rendre dans l’éditeur de registre et ajouter les clés pour avoir la même arborescence et la configuration suivante :



Modifier ensuite les différentes options du Setup afin de renseigner les informations sur le nom de l’application, le créateur, les options de mise à jour, …

Compiler l’installateur et lancer l’installation.

Pour vérifier que votre AddIn est bien installé, lancer le gestionnaire de compléments COM et vérifier qu’il figure bien dans la liste.


  1. 6.    Pour aller plus loin…

Il est bien sûr possible d’aller encore plus loin en imaginant toute sorte « d’application » ou contrôles par rapport à l’email (par exemple l’ajout ou la suppression de pièces jointes, ajout de destinataire, …).

 

Source de ce tuto : http://blog.webnet.fr


Répondre

Votre adresse email ne sera pas publiée.

shared on wplocker.com