Bonjour,
Mon programme fabrique des fichiers pdf pour des clients, je désire suite à la création du pdf envoyer un message avec en pièce jointe le fichier. J'ai consulter la doc (forum) et voici le corps de mon programme :
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 CoInitialize(nil); Outlook.Connect; EspaceDeNom := Outlook.GetNamespace('MAPI'); EspaceDeNom.Logon('', '', False, False); // Crée un élément MailItem représentant un courrier électronique UnMail:=Outlook.CreateItem(olMailItem) as MailItem; // Ajoute un ou plusieurs destinataires UnMail.Recipients.Add(Adresse Client); UnMail.Subject := 'Mon Sujet'; // Ajoute un retour chariot pour séparer le corps du message des piéces jointes UnMail.Body := 'Corps de mon message'; //Ajoute une ou plusieurs pièces jointes UnMail.Attachments.Add(Monfichier, olByValue, EmptyParam, EmptyParam); // Place le mail dans la boîte d'envoi, mais ne l'envoi pas. UnMail.Send; EspaceDeNom.Logoff; Outlook.Quit; //CoUnInitialize;
Comme vous voyez, je n'ai rien inventé ! J'ai quelques soucis tout de même :
1 / Outlook m'envoie deux messages de sécurité. Le premier pour me demander combien de temps je veux permettre l'utilisation d'outlook et le second pour confirmer l'envoie du mail.
Que faut-il faire pour ne pas avoir ces deux messages ?
2 / Si Outlook est ouvert sur le poste de l'utilisateur, il est fermé automatiquement.
Comment faire pour tester si outlook est déjà ouvert, afin de le fermer s'il n'était pas déjà ouvert ?
3 / J'ai mis "CoUnInitialize" en commentaire car j'ai un message d'erreur sinon
4 / En posant ce bout de code dans l'unité, il y a un problème de compilation sur cette unité lorsque j'écris :
Except
raise Exception.create('Prévenir la maintenance');
End;
Le message est "Type Objet ou Class requis".
Problème que je n'ai pas dans mes autres forms ou unités (je n'y utilise pas la création de mail)
Merci pour toutes vos précisions
Partager