Home > C#

Intéragir avec les objets fournis par le modèle objet d’Outlook 2010

Tout au long de cet article, vous découvrirez les différentes méthodes, propriétés qui nous permettent d’intéragir avec Microsoft Office Outlook.

 

Pour cet article j’ai utilisé les outils suivants :

- Microsoft Visual Studio 2010 Ultimate

- Microsoft Outlook 2010

OutlookVersion

 


Pour que Visual Studio 2010 puisse dialoguer avec Microsoft Office Outlook 2010 nous allons passer par les objets COM (Component Object Model).

 

COMReference

 

Première chose à faire : ajouter le composant ayant comme nom “Microsoft Outlook 14.0 Object Library.”

Vous allez tout de suite comprendre pour quelles raisons il est intéressant d’intéragir avec Outlook 2010.

 

Voici ce que l’on va faire tout au long de cet article :

 

 

1) Ajouter un rendez-vous dans le calendrier Outlook 2010
2) Créer un contact dans Outlook 2010
3) Créer un MobileItem (SMS, MMS)
4) Créer une note
5) Envoyer un e-mail avec une alerte

 

Les classes qui vont nous permettre d’intéragir avec Outlook 2010 :

Microsoft.Office.Interop.Outlook.Application
Microsoft.Office.Interop.Outlook.MailItem

Microsoft.Office.Interop.Outlook.MobileItem

Microsoft.Office.Interop.Outlook.ContactItem

Microsoft.Office.Interop.Outlook.AppointmentItem


Let’s go !

1) Ajouter un rendez-vous dans le calendrier Outlook 2010
 
Voici la méthode :
 

NB: Pour des soucis de lisibilité j’ai enlevé “Microsoft.Office.Interop.Outlook”.

N’oubliez donc pas le : using Microsoft.Office.Interop.Outlook.

/// <summary>
/// Ajoute un rendez-vous dans le calendrier Outlook
/// </summary>
public void CreateAppointment()
{
   Application outlookApp = new Application();

   // création d'un item de type AppointmentItem
   AppointmentItem appItem = 
   (AppointmentItem)outlookApp.CreateItem(OlItemType.olAppointmentItem);
   
   // les propriétés utiles pour un rendez-vous
   appItem.Subject = "Rendez-vous";
   appItem.Body = "Rendez-vous chez le dentiste";
   appItem.Location = "3 rue du Pommier";
   appItem.Start = Convert.ToDateTime("06/07/2010 10:00:00");
   appItem.End = Convert.ToDateTime("06/07/2010 11:00:00");

   // création d'une alerte. 
   // vous pouvez customiser le son pour l'alerte.
   // 15 min avant le début du rendez-vous une alerte sera levée
   appItem.ReminderSet = true;
   appItem.ReminderMinutesBeforeStart = 15;
   appItem.ReminderSoundFile = "your_sound";

   // rendez-vous ayant une haute importance
   appItem.Importance = OlImportance.olImportanceHigh;

   // on sauvegarde dans Outlook 2010
   appItem.Save();
   appItem.Send();
}

Le résultat en image :

appoitment

2) Créer un contact dans Office Outlook 2010

Voici la méthode :

 

/// <summary>
/// Création d'un contact
/// </summary>
public void CreateContact()
{
    Application outlookApp = new Application();

    // création d'un item de type ContactItem
    ContactItem appItem = 
    (ContactItem)outlookApp.CreateItem(OlItemType.olContactItem);

    // les propriétés utiles pour un contact
    appItem.FirstName = "Bibi";
    appItem.LastName = "Litchi";
    appItem.Email1Address = "bibi.litchi@fruits.fr";
    appItem.MailingAddressCity = "Metz";
    appItem.JobTitle = "Chef rayon";
    // ajout d'une image au contact
    appItem.AddPicture("litchi3.jpg");

    // on sauvegarde dans Outlook 2010
    appItem.Save();

    // on affiche le contactitem dans Outlook 2010
    appItem.Display(true);

}

 

Le résultat en image :

Contact

3) Créer un MobileItem (SMS, MMS)

 

Voici la méthode :

/// <summary>
/// Création d'un MobileItem (SMS, MMS)
/// </summary>
public void MobileItem()
{
    Application outlookApp = new Application();
    MobileItem appItem = 
    (MobileItem)outlookApp.CreateItem(OlItemType.olMobileItemSMS);

    // les propriétés nécessaires au mobileitem
	// comme le numéro de téléphone de la personne
	// et le texto
    appItem.Subject = "Tenté par une sortie au cinéma ?";
    StringBuilder builder = new StringBuilder();
    builder.Append("Hello,\n");
    builder.Append("Il y a un bon film actuellement au cinéma, ça te tente ? :)");
    appItem.Body = builder.ToString();
    appItem.To = "+33 6 27 28 29 30";

    // on sauvegarde dans Outlook 2010
    appItem.Save();
	// on affiche le mobileitem dans Outlook 2010
    appItem.Display(true);

}

 

 

Le résultat en image :

MobileItem

 

 

4) Créer une note

Voici la méthode :

 

/// <summary>
/// Création d'une note
/// </summary>
public void NoteItem()
{
    Application outlookApp = new Application();

	// création d'une note
    NoteItem appItem = 
   (NoteItem)outlookApp.CreateItem(OlItemType.olNoteItem);

	// les propriétés nécessaires à une note
	// on pourra modifier la taille de la note
    appItem.Body = "Rendez-vous chez le dentiste le 07/07/10 à 11h";
    appItem.Top = 50;
    appItem.Width = 300;

	// on sauvegarde dans Outlook 2010
    appItem.Save();
	// on affiche la note
    appItem.Display(true);

}

 

 

Le résultat en image :

NoteItem

 


5) Envoyer un e-mail avec une alerte

Voici la méthode :

 

/// <summary>
/// Envoyer un e-mail avec une alerte
/// </summary>
public void SendMailWithAlert()
{
    List<Object> allDates = GetAllDatesPerMonth();

    // création d'un e-mail
    Application outlookApp = new Application();
    MailItem mailItem = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);

    // les propriétés nécessaires à un e-mail
	// à qui ? le sujet, le corps du message
    mailItem.To = "bibi.litchi@fruits.fr";
    mailItem.Subject = "Alert event";
    mailItem.Body = "Your next events" + "\n";
    foreach (var item in allDates)
    {
        mailItem.Body += item + "\n";
    }

	// ce booléan à true indique qu'une alerte/rappel sera levé(e)
    mailItem.ReminderSet = true;

	// on envoie l' e-mail
    mailItem.Send();

}

 

NB: La méthode GetAllDatesPerMonth() récupére toutes les données en BDD pour le mois courant (simple méthode ayant de l’ADO.NET).

 

Le résultat en image :

 

- Demande d’autorisation afin d’accèder aux informations enregistrées dans Outlook.

MailItem1

MailItem2
MailItem3

 

Voici une rapide présentation de ce que l’on peut faire avec Visual Studio 2010 et Outlook 2010.


Sachez que vous pouvez également :

- créer des listes de distribution,

- créer des tâches,

- rentrer des données dans le journal d’Outlook.

Charles

C#

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading

captcha

*