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

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

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 :

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 :

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 :

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 :

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.

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
3be39cdb-7bce-43f8-837f-2903260fec05|0|.0
C#
outlook 2010