Automation Outlook 2003 delphi 2007
Bonjour,
j'ai un soucis avec l'automation sur outlook 2003.
Voici le code qui fonctionne très bien pour outlook 2000 mais qui ne fonctionne pas avec outlook 2003.
Code:
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
|
///////////////////////////////////////////////////////////////////////////
Procedure TFormExportOutlook.CreeRendezVous(TempSujet, TempMessage, TempDate, TempHeureDebut, TempHeureFin: String;Sender: TObject);
Var
EspaceDeNom: NameSpace;
UnContact : ContactItem;
Filter :Olevariant;
DossierRDV : MAPIFolder;
AnciensContact : MAPIFolder;
RDV : AppointmentItem;
RDV2: Variant;
I, j : Integer;
Outlookapplication1: TOutlookapplication;
TempRDV: String;
Begin
Outlookapplication1 := TOutlookapplication.Create(NIL);
Outlookapplication1.Connect;
EspaceDeNom := Outlookapplication1.GetNamespace('MAPI');
// Ici on utilise le profil par défaut
EspaceDeNom.Logon('', '', False, False);
DossierRDV := EspaceDeNom.GetDefaultFolder(olFolderCalendar);
If RDVRecherches = FALSE Then
Begin
For j := 1 To DossierRDV.Items.Count Do
Begin
RDVRecherches := TRUE;
RDV2 := DossierRDV.Items.Item(j);
TempRDV := String(RDV2.Start) + ' ' + String(RDV2.End)+ ' ' + String(RDV2.Subject);
HachRDVExist.Values[TempRDV] := 'oui';
End;
End;
If not VarIsNull(DossierRDV) And Not VarIsEmpty(DossierRDV) Then
Begin
//Ajoute un Rendez-vous
RDV := DossierRDV.Items.Add(olAppointmentItem) as AppointmentItem;
With RDV Do
Begin
Subject := TempSujet;
Body := TempMessage;
Location := '';
Start := StrToDateTime(TempDate + ' ' + TempHeureDebut);
End_ := StrToDateTime(TempDate + ' ' + TempHeureFin);
AllDayEvent := FALSE;
//Positionne l'alarme
If CbAlerte.Checked = TRUE Then
ReminderMinutesBeforeStart := StrToInt(CbValeurAlerte.Items.strings[CbChoixAlerte.ItemIndex])
Else
ReminderMinutesBeforeStart := 20;
ReminderSet := CbAlerte.Checked;
Importance := olImportanceNormal;
//Destinataires
//Recipients.Add('person1@domain.com');
//Recipients.Add('person2@domain.com');
// Ajoute un ou plusieur contacts
//Links.Add(UnContact);
// Links.Add(Contact n);
TempRDV := DateTimeToStr(RDV.Start) + ' ' + DateTimeToStr(RDV.End_)+ ' ' + RDV.Subject;
If HachRDVExist.Values[TempRDV] <> 'oui' Then
Save;
//Display(True); // Pour afficher le message
End;
End;
FreeAndNil(Outlookapplication1);
End;
/////////////////////////////////////////////////////////////////////////// |
Quelqu'un pourrait m'éclairer sur le soucis.
Merci d'avance