PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Rappel Outlook immédiat
Rappel Outlook immédiat
Débuté par Denis, 13 nov. 2018 16:01 - 2 réponses
Posté le 13 novembre 2018 - 16:01
Bonjour,

Je créé des rendez-vous dans mon calendrier Outlook depuis Windev.

Cela fonctionne bien sauf que la fenêtre de rappels Outlook affiche immédiatement mon rendez-vous sans prendre en compte la date de début de mon rdv.

mRendezVous.Objet=SObjet
mRendezVous.DateDébut=SDate1+Sheure1
mRendezVous.DateFin=SDate2+Sheure2
mRendezVous.Notes=SObjet
mRendezVous.RappelAuto=Vrai
mRendezVous.RappelAvant=60
SI tID_Outlook<>"" ALORS
mRendezVous.DateDernièreModification=DateHeureSys()
SI RendezVousModifie(MaSession)=Vrai ALORS
MonID=mRendezVous.ID
FermeSession(MaSession)
RENVOYER MonID
SINON
Erreur(ErreurInfo())
FermeSession(MaSession)
RENVOYER ""
FIN
SINON
mRendezVous.DateCréation=DateHeureSys
SI RendezVousAjoute(MaSession)=Vrai ALORS
MonID=mRendezVous.ID
FermeSession(MaSession)
RENVOYER MonID
SINON
Erreur(ErreurInfo())
FermeSession(MaSession)
RENVOYER ""
FIN
FIN
Posté le 01 septembre 2020 - 16:29
Bonjour,

Je rencontre le même soucis. Si je met l'option mRendezVous.RappelAuto=0, l'option mRendezVous.RappelAvant="1440" ne m'ajoute pas le rappel. Si je met le rappel auto à 1, il y a bien un rappel qui s'inscrit dans le RdV mais il y a aussi un rappel instantané qui se crée pour je ne sais quelle raison....
Posté le 02 septembre 2020 - 08:36
Bonjour,

N'ayant pas trouvé de solution en utilisant cette méthode, je suis passé par des objets automation :

MonOutlook est un objet Automation "Outlook.Application"
MonRDV est un objet Automation dynamique
RDVItem est un objet Automation dynamique
MonCalendrier est un objet Automation dynamique

SI MonOutlook=Null ALORS
Erreur("Problème avec Outlook")
RENVOYER ""
FIN

RDVItem=MonOutlook>>GetNameSpace("MAPI")
SI tID_Outlook<>"" ALORS
SI wCalendrierID="" ALORS
MonCalendrier=RDVItem>>GetDefaultFolder(9)
MonRDV=RDVItem>>GetItemFromID(tID_Outlook)
SINON
MonCalendrier=RDVItem>>GetFolderFromID(wCalendrierID)
MonRDV=RDVItem>>GetItemFromID(tID_Outlook)
FIN
SINON
SI wCalendrierID="" ALORS
MonRDV = MonOutlook>>CreateItem(1)
SINON
MonCalendrier=RDVItem>>GetFolderFromID(wCalendrierID)
MonRDV = MonOutlook>>CreateItem(1)
FIN
FIN
MonRDV>>Start = DateVersEntier(SDate1)-DateVersEntier("19000101")+2 + ((Val(Sheure1[[1 À 2]])/24) + (Val(Sheure1[[3 À 4]])/24/60))

MonRDV>>End = DateVersEntier(SDate2)-DateVersEntier("19000101")+2 + ((Val(Sheure2[[1 À 2]])/24) + (Val(Sheure2[[3 À 4]])/24/60))

MonRDV>>ReminderSet=Vrai
MonRDV>>ReminderMinutesBeforeStart = 30
MonRDV>>Save

Il faut avouer que le calcul pour les rappels est un peu tordu (c'est bien du Microsoft !!), il faut démarrer depuis la date 01/01/1900 !!!