|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Débuté par Gael, 31 juil. 2008 16:32 - 9 réponses |
| |
| | | |
|
| |
Posté le 31 juillet 2008 - 16:32 |
Bonjour, Je souhaiterais créer un message dans outlook avec une pièce jointe, le sujet et l'adresse du destinataire pré-renseignée en programmation, et ensuite que l'utilisateur complète son message dans outlook.
Comment faire cette manipulation en programmation avec Windev ? J'ai essayé le mailto mais il n'est pas possible d'y associer une pièce jointe.
Merci d'avance pour vos réponses. Cordialement |
| |
| |
| | | |
|
| | |
| |
Posté le 31 juillet 2008 - 17:19 |
Bonjour,
Je suis passé par les objets OLE pour envoyer des mails avec pièces jointes.
olMailItem est un entier = 0 MonMail est un objet OLE dynamique objOutlook = allouer un objet OLE "Outlook.Application" MonMail = objOutlook>>CreateItem(olMailItem)
MonMail>>to = "nom@domaine.com; nom2@domaine.com" MonMail>>cc = "nom3@domaine.com"
MonMail>>subject = "objet"
MonMail>>body = ""
MonMail>>attachments>>Add(cheminDuFichier)
MonMail>>Display()
Libérer MonMail Libérer objOutlook
voilà...
Anne |
| |
| |
| | | |
|
| | |
| |
Posté le 31 juillet 2008 - 19:47 |
Merci beaucoup Anne ça marche très bien.
Je me suis juste permis de rajouter "objOutlook est un objet OLE dynamique" qui n'était pas dans le code copié et ca fonctionne comme je le souhaitais.
Bonne soirée |
| |
| |
| | | |
|
| | |
| |
Posté le 30 janvier 2009 - 12:57 |
Bonjour, J'utilise votre code qui marche très bien pour l'envoi d'email. Mais j'ai un soucis au niveau du corps du message. Je dois utiliser des variables et faire des retours à la ligne. Je débute et je n'y arrive pas. Pouvez vous m'envoyer l'exemple d'un message SVP. Il me manque plus que ça pour finir mon appli. Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2015 - 10:10 |
Bonjour,
J'ai utilisé votre code , mais une erreur au niveau de la ligne ci-dessous. "identificateur inconnu"
objOutlook = allouer un objet OLE "Outlook.Application" |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2015 - 11:23 |
Bonjour,
%0D%0A ne fonctionnne pas chez moi , comment l'utiliser? |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2015 - 11:33 |
Bonjour,
Wep sa marche , mais %0D%0A ne marche pas chez moi ou je ne sais pas utiliser. mon code
MonMail>>body = "Bonjour %0D%0A Je suis"
ça ne marche pas |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 31 mars 2015 - 17:17 |
bonjour, Moa j'ai utilisé : MonMail>>body = "Bonjour, "+CRLF+ "Je suis...." Cordialement, |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 messages |
|
Posté le 15 septembre 2017 - 12:17 |
Anne a écrit :
Bonjour,
Je suis passé par les objets OLE pour envoyer des mails avec pièces jointes.
//Déclaration des objets OLE olMailItem est un entier = 0 MonMail est un objet OLE dynamique objOutlook = allouer un objet OLE "Outlook.Application" MonMail = objOutlook>>CreateItem(olMailItem) // Destinataire MonMail>>to = "nom@domaine.com; nom2@domaine.com" MonMail>>cc = "nom3@domaine.com" // Sujet MonMail>>subject = "objet" // Message MonMail>>body = "" //%0D%0A pour faire un retour à la ligne dans le corps du messsage
// Ajouter une pièce jointe MonMail>>attachments>>Add(cheminDuFichier) //Affichage du mail, sans l'envoyer MonMail>>Display() //Libération des variables Libérer MonMail Libérer objOutlook
voilà...
Anne
Bonjour, Cet exemple de code marche. Mais, quand une boîte de dialogue Outlook est en cours (genre Voulez-vous enregistrer les modifications....?), on obtient l'erreur ci-dessous Comment tester qu'aucune boîte de dialogue n'est active avant de lancer >>Display() ? Merci de votre réponse --------------- Vous avez appelé la méthode Automation 'display'. En tentant d'invoquer la méthode <display> ou de lire la propriété <display>, l'objet Automation/ActiveX a renvoyé l'erreur suivante : 'Erreur 80004005 : Une boîte de dialogue est ouverte. Fermez cette boîte de dialogue et recommencez.' En tentant d'invoquer la méthode <display>, l'objet Automation/ActiveX a renvoyé l'erreur suivante : 'Erreur 80004005 : Une boîte de dialogue est ouverte. Fermez cette boîte de dialogue et recommencez.' En tentant de lire la propriété <display>, l'objet Automation/ActiveX a renvoyé l'erreur suivante : 'Erreur 8002000E, Nombre de paramètres incorrect' En tentant d'écrire la propriété <display>, l'objet Automation/ActiveX a renvoyé l'erreur suivante : 'Erreur 80070057, Un ou plusieurs arguments sont invalides' |
| |
| |
| | | |
|
| | |
| |
Posté le 29 mai 2018 - 11:13 |
Bonjour,
Pour gérer le cas d'outlook qui a une boîte de dialogue ouverte, je réceptionne l'exception et je filtre sur le numéro de l'erreur associée. J'affiche ensuite le message que je veux.
QUAND EXCEPTION SI Contient(ExceptionInfo(errMessage),"80004005") ALORS Avertissement("Outlook ne peut pas effectuer cette action, car une boîte de dialogue est ouverte.") SINON SI EnModeTest() ALORS ExceptionAffiche() FIN FIN RENVOYER Faux FIN
Je me suis créé une procédure qui va permettre d'ouvrir un nouvel email avec ce qui a été mémorisé dans la structure Email.
PROCEDURE EnvoyerAvecOutlook() : booléen QUAND EXCEPTION SI Contient(ExceptionInfo(errMessage),"80004005") ALORS Avertissement("Outlook ne peut pas effectuer cette action, car une boîte de dialogue est ouverte.") SINON SI EnModeTest() ALORS ExceptionAffiche() FIN FIN RENVOYER Faux FIN //Déclaration des objets OLE objOutlook est un objet OLE dynamique olMailItem est un entier=0 olFormatHTML est un entier=2 objEmail est un objet OLE dynamique j est un entier sListeEmail est une chaîne sFichierAttaché est une chaîne="" objOutlook = allouer un objet OLE "Outlook.Application" objEmail=objOutlook>>CreateItem(olMailItem) // Destinataire sListeEmail="" POUR j=1 _A_ Email.NbDestinataire SI sListeEmail>"" ALORS sListeEmail+="; " sListeEmail+=Email.Destinataire[j] FIN SI sListeEmail>"" ALORS objEmail>>to = sListeEmail // En copie sListeEmail="" POUR j=1 _A_ Email.NbCc SI sListeEmail>"" ALORS sListeEmail+="; " sListeEmail+=Email.Cc[j] FIN SI sListeEmail>"" ALORS objEmail>>cc = sListeEmail // En copie cachée sListeEmail="" POUR j=1 _A_ Email.NbCci SI sListeEmail>"" ALORS sListeEmail+="; " sListeEmail+=Email.Cci[j] FIN SI sListeEmail>"" ALORS objEmail>>bcc = sListeEmail // Sujet SI Email.Sujet>"" ALORS objEmail>>subject=Email.Sujet // Message //%0D%0A pour faire un retour à la ligne dans le corps du messsage SELON Vrai CAS Email.HTML>"" // OlBodyFormat // ====================+==== // olFormatHTML | 2 // olFormatPlain | 1 // olFormatRichText | 3 // olFormatUnspecified | 0 objEmail>>BodyFormat=olFormatHTML objEmail>>HTMLBODY=Email.HTML CAS Email.Message>"" : objEmail>>body=Email.Message AUTRE CAS FIN // Ajouter une pièce jointe POUR j=1 _A_ Email.NbAttache sFichierAttaché=Email.Attache[j] objEmail>>attachments>>Add(sFichierAttaché) FIN //Affichage du mail, sans l'envoyer objEmail>>Display() //Libération des variables libérer objEmail libérer objOutlook RENVOYER Vrai FIN |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|