Bonjour,
je pilote outlook 2003 via OLE.
Je souhaite créer un message pré-rempli, afficher le mail ainsi créer et ensuite faire un traitement quand le message est envoyé par l'utilisateur.
Je n'ai pas de problème pour créer le mail et pour l'afficher mais je n'ai aucune idée pour savoir si l'utilisateur a envoyé ce mail.
J'aimerais donc savoir comment intercepter l'évenement Send d'outlook?
Merci
Je vous met le code de création du mail ci-dessous
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 type TEmail = record dDateRecept : TDateTime; dDateCreation : TDateTime; sSenderName : String; sSenderMail : String; sCC : String; sDestinataire : String; sSujet : String; sContenu : String; iPriorite : integer; // 0 Basse, 1 Normal, 2 Haute iSize : integer; // en octet iNbPiecesJointes : integer; tCheminPiecesJointes : array of string; end; function TOutlook.CreerEmail(Mail : TEmail): boolean; var vMail : variant; i : integer; vRecipient : variant; lTemp : TStringList; begin Result := true; try //Création du mail vMail := vApplication.CreateItem(0); //Ajout du destinitaires vRecipient := vMail.Recipients.Add(Mail.sDestinataire); vRecipient.Type := 1; if Mail.sCC <> '' then begin lTemp := TStringList.Create; lTemp.Delimiter := ';'; lTemp.DelimitedText := Mail.sCC; for i := 0 to lTemp.Count - 1 do begin vRecipient := vMail.Recipients.Add(lTemp.Strings[i]); vRecipient.Type := 2; end; lTemp.Free; end; //Ajout du sujet vMail.Subject := Mail.sSujet; //Ajout de la priorité vMail.Importance := Mail.iPriorite; //Ajout de pièce jointe for i := 0 to Mail.iNbPiecesJointes -1 do begin vMail.Attachments.Add(Mail.tCheminPiecesJointes[i]); end; //Affichage de l'Email vMail.Display; except Result := false; end; end;
P.S. :Ce code marche parfaitement je l'ai mis si certain veulent s'en servir.
Partager