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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <utilcls.h> // <--- ne pas oublier
#include "Outlook.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)
{
// ouvrir Outlook
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)
{
// fermer Outlook
vEspaceDeNom.OleFunction("Logoff");
vMSOutlook.OleFunction("Quit");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
// se positionner sur la page Outlook envoyer
Variant vmyItem;
vmyItem = vMSOutlook.OleFunction("CreateItem", 0);
vmyItem.OleFunction("Display");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
// affichage du message recu
Variant vEspaceDeNom, vDossierReception, vmyItem;
vEspaceDeNom = vMSOutlook.OleFunction("GetNameSpace", "MAPI");
vDossierReception = vEspaceDeNom.OlePropertyGet("GetDefaultFolder", 6);
vDossierReception.OleFunction("Display");
vmyItem = vDossierReception.OlePropertyGet("Items", 2);// ici on affiche le deuxieme message recu
vmyItem.OleFunction("Display");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
// envoyer un message
Variant vEspaceDeNom, vobjNewMail;
vEspaceDeNom = vMSOutlook.OleFunction("GetNameSpace", "MAPI");
vobjNewMail = vMSOutlook.OleFunction("CreateItem", 0);
vobjNewMail.OleFunction("Display");
vobjNewMail.OlePropertySet("Body", "This e-mail message was created automatically on ");
vobjNewMail.OlePropertySet("Subject", "essai");
vobjNewMail.OlePropertySet("To", "dupont@monfournisseur.fr.");
vobjNewMail.OleFunction("Send");
} |