*** Fenetre donnée en exemple dans windev************************ // Libellé objet obligatoire SI SansEspace(SaisieObjet)="" ALORS Erreur("Saissisez l'objet de votre mail.") RepriseSaisie(SaisieObjet) FIN
// initialisation de la table (test : en cours) POUR i=1 A TableOccurrence(TableClient) TableClient.ColEtat[i] = "" FIN
// Controle si au moins un client sélectionné nNombreFichier=0 POUR i=1 A TableOccurrence(TableClient) // si le client fait partie des destinataires SI TableClient.ColInter[i] ALORS nNombreFichier++ FIN FIN
SI nNombreFichier= 0 ALORS Erreur("Sélectionnez au moins un client pour vos envois de mails") RepriseSaisie(TableClient) FIN // pour chaque ligne de la table POUR i=1 A TableOccurrence(TableClient) // si le client fait partie des destinataires SI TableClient.ColInter[i] ALORS TableSelectPlus(TableClient,i) ColEtat[i]="En cours" Message("Envoi du mail à "+ColMail[i]) ; MultitâcheRepeint() cpeDestinataire=ColMail cpeSujet=SansEspace(SaisieObjet) cpeAttachedFile=SaisiePJ cPeTexte=SaisieTexte NetEmailLotusNotes(cpeDestinataire,cpeSujet,cPeTexte,cpeAttachedFile) FIN FIN
Sablier(Faux) Message()
******************************************************************** Procedure NetEmailLotusNotes *********************************************************************
//NetEmailLotusNotes (<peDestinataire>, <peSujet>, <peTexte>, <peAttachedFile>) // // Paramètres : // peDestinataire : <indiquez ici le rôle de peDestinataire> // peSujet : <indiquez ici le rôle de peSujet> // peTexte : <indiquez ici le rôle de peTexte> // peAttachedFile : <indiquez ici le rôle de peAttachedFile> // Valeur de retour : // Aucune
PROCEDURE NetEmailLotusNotes(peDestinataire,peSujet,peTexte,peAttachedFile)
// DECLARATION DE L'OBJET OLE NotesSession
Notes est un objet OLE "Notes.NotesSession"
// DECLARATION DES OBJETS OLE DYNAMIQUES Base est un objet OLE dynamique // OBJET BASE DE MAIL Doc est un objet OLE dynamique // OBJET DOCUMENT Contenu est un objet OLE dynamique // OBJET CONTENU DU DOCUMENT Fichier1 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier2 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier3 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier4 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier5 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier6 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier7 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier8 est un objet OLE dynamique // OBJET PIECE JOINTE Fichier9 est un objet OLE dynamique // OBJET PIECE JOINTE //---------------------------------------------------------- cFichier1="" cFichier2="" cFichier3="" cFichier4="" cFichier5="" cFichier6="" cFichier7="" cFichier8="" cFichier9="" //---------------------------------------------------------- // Construction des pièces jointes Maximum 9
nMaPosition est un entier = PositionOccurrence(cpeAttachedFile,";", rangPremier) nPosition est un entier
TANTQUE nMaPosition <>0 SI SansEspace(cFichier1)="" ALORS cFichier1=Replace(Gauche(cpeAttachedFile,nMaPosition),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier2)="" ALORS cFichier2=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier3)="" ALORS cFichier3=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier4)="" ALORS cFichier4=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier5)="" ALORS cFichier5=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier6)="" ALORS cFichier6=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier7)="" ALORS cFichier7=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier8)="" ALORS cFichier8=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN SI SansEspace(cFichier9)="" ALORS cFichier9=Replace(Milieu(cpeAttachedFile,nPosition,(nMaPosition-nPosition)),";","") nPosition=nMaPosition FIN nMaPosition = PositionOccurrence(cpeAttachedFile,";", rangSuivant) FIN
//---------------------------------------------------------- // OUVERTURE DE LA BASE DE MAIL PAR DEFAUT Base = Notes>>GetDataBase("","") Base>>OpenMail() // CREATION D'UN NOUVEAU DOCUMENT Doc = Base>>CreateDocument // DECLARATION D'UN DOCUMENT DE TYPE MEMO Doc>>ReplaceItemValue("Form","Memo") // DESTINATAIRE Doc>>ReplaceItemValue("SendTo",peDestinataire) // SUJET Doc>>ReplaceItemValue("Subject",peSujet) // TEXTE DU MESSAGE Doc>>ReplaceItemValue("Body",peTexte+RC+RC+"") // CREATION DE L'OBJET CONTENU DU MESSAGE Contenu = Doc>>CreateRichTextItem("Contenu") // CREATION DES OBJETS PIECE-JOINTE RELIE Fichier1 = Contenu>>EmbedObject(1454,"",cFichier1) Fichier2 = Contenu>>EmbedObject(1454,"",cFichier2) Fichier3 = Contenu>>EmbedObject(1454,"",cFichier3) Fichier4 = Contenu>>EmbedObject(1454,"",cFichier4) Fichier5 = Contenu>>EmbedObject(1454,"",cFichier5) Fichier6 = Contenu>>EmbedObject(1454,"",cFichier6) Fichier7 = Contenu>>EmbedObject(1454,"",cFichier7) Fichier8 = Contenu>>EmbedObject(1454,"",cFichier8) Fichier9 = Contenu>>EmbedObject(1454,"",cFichier9)
// SAUVEGARDE DU MESSAGE LORS DE L'ENVOI Doc>>SaveMessageOnSend=OLETrue // SAUVEGARDE DE LA DATE D'ENVOI DU MESSGAE Doc>>ReplaceItemValue("PostedDate",Gauche(DateVersChaîne(DateSys()),6)+Droite(DateVersChaîne(DateSys()),2)+" "+... Gauche(HeureVersChaîne(HeureSys()), 5)) // ENVOI DU DOCUMENT Doc>>Send(OLEFaux)
// LIBERATION DES OBJETS OLE DYNAMIQUES libérer(Fichier1) libérer(Fichier2) libérer(Fichier3) libérer(Fichier4) libérer(Fichier5) libérer(Fichier6) libérer(Fichier7) libérer(Fichier8) libérer(Fichier9)
libérer(Contenu) libérer(Base) libérer(Doc)
Info("message(s) envoyé(s).")
************************************************************
bon courage |