Suite a cette discution
Voici comment recuperer les elements d'un message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Variant vMSOutlook, vEspaceDeNom, vDossierReception, olFolderInbox;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        try
{
    vMSOutlook = Variant::GetActiveObject("Outlook.Application");
}
        catch(...)
{
    vMSOutlook = Variant::CreateObject("Outlook.Application");
}
vEspaceDeNom = vMSOutlook.OleFunction("GetNameSpace", "MAPI");
/*
Profile   Argument de type Variant facultatif. Nom du profil, en tant que valeur String, à utiliser pour la session.
Password   Argument de type Variant facultatif. Mot de passe (le cas échéant), en tant que valeur String, associé au profil.
ShowDialog   Argument de type Variant facultatif. Affectez-lui la valeur True pour afficher la boîte de dialogue d'ouverture de session MAPI.
NewSession   Argument de type Variant facultatif. Affectez-lui la valeur True pour créer une session (n'utilise pas une session existante). Vous ne pouvez pas créer plusieurs sessions dans Outlook.
Logon "myProfile", "myPassword", True, True
*/
   // Ici on utilise le profil par défaut
  vEspaceDeNom.OleFunction("Logon", "", "", true, true);
// 3 = elements supprimes
// 4 = boite d'envoi
// 5 = elements envoyes
// 6 = boite de reception
// 9 = calendrier
// 10 = contacts
// 11 = boite de dialogue activer journal suivi messages
// 12 = notes
// 13 = taches
// 14 = rappels
// 15 = rappels
// 16 = brouillons
//
vDossierReception = vEspaceDeNom.OlePropertyGet("GetDefaultFolder", 6);
vDossierReception.OleFunction("Display");        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
vEspaceDeNom.OleFunction("Logoff");
vMSOutlook.OleFunction("Quit");        
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Variant vEspaceDeNom, vDossierReception, vmyItem;
vEspaceDeNom = vMSOutlook.OleFunction("GetNameSpace", "MAPI");
vDossierReception = vEspaceDeNom.OlePropertyGet("GetDefaultFolder", 6);// boite de reception
//ici on affiche les elements du deuxieme message recu
vmyItem = vDossierReception.OlePropertyGet("Items", 1).OlePropertyGet("To");
RichEdit1->Lines->Add(vmyItem);
vmyItem = vDossierReception.OlePropertyGet("Items", 1).OlePropertyGet("Subject");
RichEdit1->Lines->Add(vmyItem);
vmyItem = vDossierReception.OlePropertyGet("Items", 1).OlePropertyGet("SenderEmailAddress");
RichEdit1->Lines->Add(vmyItem);
vmyItem = vDossierReception.OlePropertyGet("Items", 1).OlePropertyGet("Body");
RichEdit1->Lines->Add(vmyItem);
vmyItem = vDossierReception.OlePropertyGet("Items", 1).OlePropertyGet("ReceivedTime");
RichEdit1->Lines->Add(vmyItem);
}