PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Adresse Lotus Notes
Adresse Lotus Notes
Débuté par Francis, 08 nov. 2006 14:58 - 2 réponses
Posté le 08 novembre 2006 - 14:58
Depuis mon appli windev, j'arrive facilement à envoyer des mails via Lotus Notes.

Par contre , j'aimerai lorsque je saisis un nom d'utilisateur pouvoir récupérer son adresse mail figurant dans Lotus.

Quelqu'un a t-il une idée ou un exemple sur le traitement à effectuer ?

Merci d'avance
Posté le 08 novembre 2006 - 19:41
Attendre les fonctions du W-Langage de Windev XI...
Posté le 20 novembre 2006 - 18:33
Bonsoir,
Ci-joint extrait de code que j'ai utilisé en test pour extraire les valeurs de champs d'un message Notes:
J'espère que la version 11 va simplifier la procédure et la syntaxe!

Session est un objet OLE "Notes.NotesSession"

// DECLARATION DES OBJETS OLE DYNAMIQUES
db est un objet OLE dynamique // OBJET BASE DE MAIL
MailDoc est un objet OLE dynamique // OBJET DOCUMENT
MonChamp est un objet OLE dynamique //Nom du champ à lire
maVue est un objet OLE dynamique
datetime est un objet OLE dynamique
MonObject est un objet OLE dynamique

champ est un objet OLE dynamique
Piecedet est un tableau de 100 caractères // Tableau contenant le nom de la piece jointe
item est un objet OLE dynamique // item du document

// OUVERTURE DE LA BASE DE MAIL PAR DEFAUT
Message("Ouverture de la base...")
db = Session>>GetDataBase("","")
SI db>>Isopen=OLEFaux ALORS
db>>OpenMail()
FIN

//Selecteur de choix des documents à lire
SELON SEL_QuoiLire
CAS 1 //documents recus
maVue = db>>GetView("($Inbox)")
CAS 2 //Documents Emis et reçus
maVue = db>>GetView("($All)")
FIN

//Lecture du premier Mail
MailDoc = maVue>>GetFirstDocument
//Lecture des suivants utiliser la commande pour lire les messages séquentiellement
//MailDoc = maVue>>GetNextDocument(MailDoc)

Message("Lecture document...")

//Nature du document lu
MonChamp=MailDoc>>GetFirstItem( "Form" )
sFormeDoc=Majuscule(MonChamp>>Text)
SELON sFormeDoc
CAS "MEMO","REPLY","REPLY WITH HISTORY"
nCpt=1
Message("Lecture Entete...")
//Adresse Email Emetteur
MonChamp = MailDoc>>GetFirstItem( "INetFrom" )
ZSTExped=(MonChamp>>Text)
//Objet du document
MonChamp = MailDoc>>GetFirstItem( "Subject" )
SI MonChamp<>Null ALORS
ZSTSujet=(SansEspace(MonChamp>>Text))
SINON
ZSTSujet=""
FIN
//date émission
MonChamp = MailDoc>>GetFirstItem( "PostedDate" )
SI MonChamp<>Null ALORS
ZST_DatePosted=(SansEspace(MonChamp>>Text))
SINON
ZST_DatePosted=""
FIN

//Adresse Email copie
MonChamp = MailDoc>>GetFirstItem( "INetCopyTo" )
SI MonChamp<>Null ALORS
ZSTCopie=(SansEspace(MonChamp>>Text))
SI Gauche(ZSTCopie,1)="." ALORS
//Lecture de l'adresse format interne notes
MonChamp = MailDoc>>GetFirstItem( "CopyTo" )
ZSTCopie=(SansEspace(MonChamp>>Text))
FIN
SINON
MonChamp = MailDoc>>GetFirstItem( "CopyTo" )
SI MonChamp<>Null ALORS
ZSTCopie=(SansEspace(MonChamp>>Text))
FIN
FIN

Message("Lecture Corps du texte...")
MonChamp=MailDoc>>GetFirstItem( "Body" )
SI MonChamp<>Null ALORS ZSTBody=(SansEspace(MonChamp>>Text)) SINON ZSTBody=""
//Lecture des pièces attachées
SI ITRLectPA[1]=Vrai ALORS
nCptPA=0
TANTQUE MailDoc>>hasitem("$FILE")
nCptPA++
Message("Lecture Piece attachée...N°"+nCptPA)
// recherche la premiere
item = MailDoc>>GetFirstItem("$FILE")
// recupere le nom
Piecedet = item>>values
ListeAjoute(LSTFichier,Piecedet[1])
Multitâche(-1)
// selectionne la piece jointe
champ = MailDoc>>getattachment(Piecedet[1])
// detache le piece jointe
champ>>extractfile(gfsDossierDetache+Piecedet[1])
// supprime la piece jointe sinon impossible de recuperer les suivantes
//( si pas de sauvegarde ne modifie pas definitivement le message)
champ>>Remove
FIN
FIN
CAS "RETURN RECEIPT"
Message("Lecture AR...")
SELTypDoc=2
MonChamp = MailDoc>>GetFirstItem( "From" )
ZSTExped=(MonChamp>>Text)
MonChamp = MailDoc>>GetFirstItem( "Subject" )
ZSTSujet=(SansEspace(MonChamp>>Text))

MonChamp = MailDoc>>GetFirstItem( "INetSendTo" )
SI MonChamp<>Null ALORS
ZSTDest=(SansEspace(MonChamp>>Text))
SI Gauche(ZSTDest,1)="." ALORS
MonChamp = MailDoc>>GetFirstItem( "SendTo" )
ZSTDest=(SansEspace(MonChamp>>Text))
FIN
SINON
MonChamp = MailDoc>>GetFirstItem( "SendTo" )
SI MonChamp<>Null ALORS
ZSTDest=(SansEspace(MonChamp>>Text))
FIN
FIN

MonChamp=MailDoc>>GetFirstItem( "Body" )
SI MonChamp<>Null ALORS ZSTBody=(SansEspace(MonChamp>>Text)) SINON ZSTBody=""
AUTRE CAS
Info(sFormeDoc)
FIN

Message("")

libérer(db)
libérer(mailDoc)
libérer(MonChamp)
libérer(maVue)