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.