PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Déplacer un email Outlook
Déplacer un email Outlook
Iniciado por Giloo, 30,jul. 2020 17:28 - 1 respuesta
Miembro registrado
6 mensajes
Publicado el 30,julio 2020 - 17:28
Bonjour,
Je suis débutant, j'utilise pour l'instant Windev Express, je cherche à déplacer par programmation,un email d'un dossier à l'autre dans Outlook.
Les fonctions mail sont très bien fournies mais malheureusement il n'y a pas de fonction du genre "EmailDéplacer"...
Cela existe en MAPI mais pas avec une session Outlook.

il y a t il une solution ?

D'avance merci ;)
Miembro registrado
47 mensajes
Publicado el 13,octubre 2020 - 14:52
Bonjour,

Même besoin avec Outlook.

J'affiche dans un champ table des mails, j'ai deux champs texte :
1 - le dossier d'origine
2 : le dossier de destination.

Je clique sur le bouton [déplacer] et je souhaiterais déplacer le mail du fichier d'origine vers le dossier de destination

J'ai pris l'option d'utiliser Outlook Automation, mais si une autre idée je suis preneur ;-)

voici mon code je suis bloqué sur le passage de l'objet mail de windev à l'objet mail de outlook Automation

nIDSessionOutlook est un entier
MonMessage est un Email
SI TABLE_Mails_dans_dossier=-1 ALORS
Info("Sélectionner le mail à supprimer")
SINON
nIDSessionOutlook = EmailOuvreSessionOutlook("")
// Session ouverte ?
SI nIDSessionOutlook = 0 ALORS
ErreurInfo()
SINON
SI EmailChangeDossier(nIDSessionOutlook, SAI_Dossier)=Vrai ALORS
// je change de dossier
EmailLitEntêtePremier(nIDSessionOutlook)
TANTQUE Email.EnDehors = Faux
SI Email.ID=TableauEmail[TABLE_Mails_dans_dossier].ID ALORS
// je suis positionné sur le mail à déplacer

//Dim objOutlook As Outlook.Application
objOutlook est un objet automation "Outlook.Application"

//Dim objMail As Object
objMail est un objet automation dynamique

//Dim DossierDestination As Outlook.Folder
DossierDestination est un objet automation dynamique

//Dim myDestFolder As Outlook.Folder
myDestFolder est un objet automation dynamique

//Dim myNameSpace As Outlook.NameSpace
myNameSpace est un objet automation dynamique

//Set objOutlook = Outlook.Application 'Instance de l'application

//Set myNameSpace = objOutlook.GetNamespace("MAPI")
myNameSpace=objOutlook>>GetNamespace("MAPI")

//Set DossierDestination = myNameSpace.GetDefaultFolder(olFolderInbox).parent
DossierDestination= myNameSpace>>GetDefaultFolder(6)

//Set myDestFolder = DossierDestination.Folders("Dossier d'archivage")
//myDestFolder=DossierDestination>>Folders(SAI_Dossier_Destination)


//myDestFolder = DossierDestination>>Folders marche

myDestFolder = DossierDestination>>Folders("Test Elodie")
//objMail = myNameSpace>>GetItemFromID(ConstruitVariantAutomation(Email.ID)) NE MARCHE PAS
//objMail = myNameSpace>>GetItemFromID(Email.ID) NE MARCHE PAS
//objMail = myDestFolder>>GetItemFromID(Email.ID) NE MARCHE PAS

// -*-*-*-* MON PROBLEME EST SUR CETTE LIGNE -*-*-*- //
objMail = myNameSpace>>GetItemFromID(Email.ID)

objMail = objMail>>Move(myDestFolder)

Libérer objMail
Libérer myDestFolder
Libérer DossierDestination
Libérer myNameSpace
SORTIR
FIN
EmailLitEntêteSuivant(nIDSessionOutlook)
FIN
//
SINON
Erreur("Pb changement de dossier")
FIN
EmailFermeSession(nIDSessionOutlook)
FIN
FIN


merci d'avance

--
Jean-Marc NAHON (Gestform)