OVH Cloud OVH Cloud

Création d'un rendez-vous dans calendrier Exchange 2000 d'une personne à partir d'un développement externe

3 réponses
Avatar
jean-michel
Bonjour.

J'ai besoin de créer des rendez-vous dans le calendrier de personnes
dans Exchange 2000. Le point d'entrée semble l'utilisation d'un objet
COM CDO. Quelqu'un a-t-il déjà réalisé cela ? Où puis-je trouver des
éléments ?

Le développement peut être fait en VB, Windev/Webdev. Toutes infos
utiles me conviendraient.

Merci d'avance.

3 réponses

Avatar
Laurent Francfort [MS]
Bonjour,

Il est plus simple (et plus pérenne) de passer par le modèle object Outlook
que CDO.

Dans le modèle objet Outlook, tu as une méthode GetSharedDefaultFolder qui
te permet d'ouvrir le dossier d'un autre utilisateur.
Ensuite pour créer un RDV, tu n'as plus qu'à ajouter un élément à ce
dossier.

Cidessous un exemple vbscript tiré de l'aide du modèle objet Outlook et
enrichi pour la création de RDV

Set myRecipient = olNameSpace.CreateRecipient("Poum Lagaffe")
myRecipient.Resolve
If myRecipient.Resolved Then
Set PoumContactsFolder = olNameSpace.GetSharedDefaultFolder
(myRecipient, olFolderContacts)
End If
Set MyMeetings = PoumContactsFolder.items

Set MyNewMeeting = MyMeetings.add
MyNewMeeting.Subject = "Réu de travail"
MynewMeeting.location="Bureau"
Mynewmeeting.start=...
Mynewmeeting.end=...
...
MynewMeeting.save

Laurent


"jean-michel" a écrit dans le message de news:

Bonjour.

J'ai besoin de créer des rendez-vous dans le calendrier de personnes dans
Exchange 2000. Le point d'entrée semble l'utilisation d'un objet COM CDO.
Quelqu'un a-t-il déjà réalisé cela ? Où puis-je trouver des éléments ?

Le développement peut être fait en VB, Windev/Webdev. Toutes infos utiles
me conviendraient.

Merci d'avance.




Avatar
jean-michel
Bonjour.

Nous avons donc pris cette orientation d'utiliser Outlook.Mapi
Cela nous mène plus loin que CDO puisque nous arrivons à créer un RV à
partir d'un EXE dévellopé en Windev.
Cet EXE fonctionne à partir de 2 postes XP et créé bien un RV dans un
calendrier d'un destinataire nommé. Sur mon serveur 2000 de production,
ainsi que sur un autre poste XP, j'obtiens l'erreur :

Automation/ActiveX à renvoyé l'erreur suivante :
Erreur 8004010F : Echec de l'opération du client en tentant de lire la
propriété <GetSharedDefaultFolder>

Je ne vois pas bien d'où vient ce problème après pas mal de recherches.
Si des idées ?

Mon serveur 2000 est équipé de outlook2000 qui fonctionne (accès à la
BAL sur Exchange). J'ai mis à jour Outlook en version 2003 -> aucun
changement.

Merci d'avance pour vos réponses et/ou liens. Je pense que cette
problématique a déjà été posée de nombreuses fois et que les réponses
seront les bienvenues.

Merci d'avance.


Bonjour,

Il est plus simple (et plus pérenne) de passer par le modèle object Outlook
que CDO.

Dans le modèle objet Outlook, tu as une méthode GetSharedDefaultFolder qui
te permet d'ouvrir le dossier d'un autre utilisateur.
Ensuite pour créer un RDV, tu n'as plus qu'à ajouter un élément à ce
dossier.

Cidessous un exemple vbscript tiré de l'aide du modèle objet Outlook et
enrichi pour la création de RDV

Set myRecipient = olNameSpace.CreateRecipient("Poum Lagaffe")
myRecipient.Resolve
If myRecipient.Resolved Then
Set PoumContactsFolder = olNameSpace.GetSharedDefaultFolder
(myRecipient, olFolderContacts)
End If
Set MyMeetings = PoumContactsFolder.items

Set MyNewMeeting = MyMeetings.add
MyNewMeeting.Subject = "Réu de travail"
MynewMeeting.location="Bureau"
Mynewmeeting.start=...
Mynewmeeting.end=...
...
MynewMeeting.save

Laurent


"jean-michel" a écrit dans le message de news:

Bonjour.

J'ai besoin de créer des rendez-vous dans le calendrier de personnes dans
Exchange 2000. Le point d'entrée semble l'utilisation d'un objet COM CDO.
Quelqu'un a-t-il déjà réalisé cela ? Où puis-je trouver des éléments ?

Le développement peut être fait en VB, Windev/Webdev. Toutes infos utiles
me conviendraient.

Merci d'avance.






Avatar
jean-michel
Bonjour.

Nous avons donc pris cette orientation d'utiliser Outlook.Mapi
Cela nous mène plus loin que CDO puisque nous arrivons à créer un RV à
partir d'un EXE dévellopé en Windev.
Cet EXE fonctionne à partir de 2 postes XP et créé bien un RV dans un
calendrier d'un destinataire nommé. Sur mon serveur 2000 de production,
ainsi que sur un autre poste XP, j'obtiens l'erreur :

Automation/ActiveX à renvoyé l'erreur suivante :
Erreur 8004010F : Echec de l'opération du client en tentant de lire la
propriété <GetSharedDefaultFolder>

Je ne vois pas bien d'où vient ce problème après pas mal de recherches.
Si des idées ?

Mon serveur 2000 est équipé de outlook2000 qui fonctionne (accès à la
BAL sur Exchange). J'ai mis à jour Outlook en version 2003 -> aucun
changement.

Merci d'avance pour vos réponses et/ou liens. Je pense que cette
problématique a déjà été posée de nombreuses fois et que les réponses
seront les bienvenues.

Merci d'avance.


Bonjour,

Il est plus simple (et plus pérenne) de passer par le modèle object Outlook
que CDO.

Dans le modèle objet Outlook, tu as une méthode GetSharedDefaultFolder qui te
permet d'ouvrir le dossier d'un autre utilisateur.
Ensuite pour créer un RDV, tu n'as plus qu'à ajouter un élément à ce dossier.

Cidessous un exemple vbscript tiré de l'aide du modèle objet Outlook et
enrichi pour la création de RDV

Set myRecipient = olNameSpace.CreateRecipient("Poum Lagaffe")
myRecipient.Resolve
If myRecipient.Resolved Then
Set PoumContactsFolder = olNameSpace.GetSharedDefaultFolder (myRecipient,
olFolderContacts)
End If
Set MyMeetings = PoumContactsFolder.items

Set MyNewMeeting = MyMeetings.add
MyNewMeeting.Subject = "Réu de travail"
MynewMeeting.location="Bureau"
Mynewmeeting.start=...
Mynewmeeting.end=...
...
MynewMeeting.save

Laurent


"jean-michel" a écrit dans le message de news:

Bonjour.

J'ai besoin de créer des rendez-vous dans le calendrier de personnes dans
Exchange 2000. Le point d'entrée semble l'utilisation d'un objet COM CDO.
Quelqu'un a-t-il déjà réalisé cela ? Où puis-je trouver des éléments ?

Le développement peut être fait en VB, Windev/Webdev. Toutes infos utiles
me conviendraient.

Merci d'avance.