PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → outlook
outlook
Débuté par Anne, 08 juin 2005 12:22 - 2 réponses
Posté le 08 juin 2005 - 12:22
Bonjour,

Dans une appli créée sous WinDev 9, j'aimerais créer un rdv dans un calendrier outlook.
Est-il possible de créer des rdv dans un calendrier d'un dossier public de outlook?
ou dans un calendrier autre que le calendrier par défaut de outlook?

Merci
Posté le 13 octobre 2005 - 18:28
Anne wrote:
Bonjour,

Dans une appli créée sous WinDev 9, j'aimerais créer un rdv dans un calendrier outlook.
Est-il possible de créer des rdv dans un calendrier d'un dossier public de outlook?
ou dans un calendrier autre que le calendrier par défaut de outlook?

Merci

Bonjour,
J'ai exactemment le même problême que toi. Je souhaite écrire dans un
dossier public mais je ne trouve pas de solution, et ce même en
utilisant les classes cOutlook et cCalendrier.

En effet, je coince à a procédure "cOutLook::Constructeur(sDossier)" de
la classe cOutlook :
A l'étape ":m_Folder = :m_NameSpace>>GetDefaultFolder(nIDDossier)", je
pense qu'il est possible d'éxecuter d'autres actions afin de pouvoir
parcourir les dossiers publics mais je ne connais pas la syntaxe des
méthodes à utiliser.

Merci d'avance à notre sauveur
Posté le 15 octobre 2005 - 12:17
Alexis Claire wrote:
Anne wrote:

Bonjour,

Dans une appli créée sous WinDev 9, j'aimerais créer un rdv dans un calendrier outlook.
Est-il possible de créer des rdv dans un calendrier d'un dossier public de outlook?
ou dans un calendrier autre que le calendrier par défaut de outlook?

Merci


Bonjour,
J'ai exactemment le même problême que toi. Je souhaite écrire dans un
dossier public mais je ne trouve pas de solution, et ce même en
utilisant les classes cOutlook et cCalendrier.

En effet, je coince à a procédure "cOutLook::Constructeur(sDossier)" de
la classe cOutlook :
A l'étape ":m_Folder = :m_NameSpace>>GetDefaultFolder(nIDDossier)", je
pense qu'il est possible d'éxecuter d'autres actions afin de pouvoir
parcourir les dossiers publics mais je ne connais pas la syntaxe des
méthodes à utiliser.

Merci d'avance à notre sauveur


Après recherches, j'ai trouvé la possiblilité d'écrire dans un
calendrier d'un dossier public par Automation; voici comment on peut
procéder :

OUTLOOK est un objet OLE dynamique
DOSSIER, DOSSIER1, DOSSIER2 sont des objets OLE dynamique
RDV est un objet OLE dynamique
NameSpace est un objet OLE dynamique

OUTLOOK = allouer un objet OLE "Outlook.Application"
NameSpace=OUTLOOK>>GetNameSpace("MAPI")

//Déplacement vers le dossier voulu :
DOSSIER = NameSpace>>Folders("Dossiers publics") //à revoir bien sûr si
votre couple exchange/outlook est en anglais
DOSSIER1 = DOSSIER>>Folders("Tous les dossiers publics")
DOSSIER2 = DOSSIER1>>Folders("Nom_du_calendrier")

//Ecriture d'un nouveau rendez-vous :
RDV = DOSSIER2>>Items>>Add
RDV>>subject = "sujet"
RDV>>body = "corps"
RDV>>start = "date et heure de début"
RDV>>end = "date et heure de fin"
RDV>>save()

//si les dates de début et de fin sont identiques (et sans précision de
l'heure), le RDV sera fixé pour la journée entière (et apparaitra en
haut du calendrier outlook).

//Là où ça se complique, c'est pour tester l'existence d'un RDV sur
Outlook avant de l'écrire. Il faudra utiliser la commande
>>find(critère_de_recherche);
Par exemple :
RECHERCHE est un objet OLE dynamique
RECHERCHE = DOSSIER2>>Items>>Find("critere")
La syntaxe des conditions de recherche est particulière, voyez ce lien
http://support.microsoft.com/kb/q170262/ pour vous en inspirer.

Si quelqu'un a d'autres tuyaus, qu'il n'hésite pas à venir complêter et
mêmme corriger ce post;

Merci d'avance.