IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[Connexion à Exchange][Récupération des agendas][Util. Objet CDO.Iappointment]


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut [Connexion à Exchange][Récupération des agendas][Util. Objet CDO.Iappointment]
    Bonjour,

    Toujours dans l'objectif d'extraire les agendas d'exchange et d'en exporter le contenu dans un applicatif extérieur je suis en train de développer un script en VBS qui sera censé scanner les comptes de tous les utilisateurs, se connecter à leur agenda et exporter au format texte les rendez-vous des 15 prochains jours.

    Je suis néophyte en VBS, à force de documentation j'ai pondu ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Dim objCdoPerson
    Dim objCdoAppointment
    Dim iMailBox
    Dim iAppointment
    Dim strCalendarUrl
     
    strURL = "mailto:xxxxxxxxxxx@xxxxxxxxxx.xxx"
    Set objCdoPerson = CreateObject("CDO.Person")
    Set iMailBox = objCdoPerson.GetInterface("IMailbox")
    Set objCdoAppointment = CreateObject("CDO.Appointment")
     
    objCdoPerson.DataSource.Open strURL
     
    WScript.Echo "URL du calendrier " & iMailBox.Calendar
     
    Set strCalendarUrl = iMailBox.Calendar
    Set iAppointment = objCdoAppointment.GetInterface("IMailbox")
     
    iAppointment.DataSource.Open strCalendarUrl
    C'est un premier test, qui consiste à me connecter un compte déterminé et à tenter de me connecter à son agenda. Je récupère bien iMailBox.Calendar dans WScript.Echo.

    Par contre il me fait une erreur sur Set strCalendarUrl = iMailBox.Calendar ... Objet Requis: '[string: "file://./backoffices/"]', code d'erreur 800A01A8 ... Je ne comprends pas cette erreur alors qu'il m'affiche très correctement la valeur complète de strCalendarUrl juste avant !!

    Merci de votre aide.

    Théo

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    ... J'ai été un peu vite à poster avant de tenter un peu plus.

    Voici la nouvelle version de mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim objCdoPerson
    Dim objCdoAppointment
    Dim iMailBox
    Dim iAppointment
    Dim strCalendarUrl
     
    strURL = "mailto:administrateur@terre-et-decor.com"
    Set objCdoPerson = CreateObject("CDO.Person")
    Set iMailBox = objCdoPerson.GetInterface("IMailbox")
    Set objCdoAppointment = CreateObject("CDO.Appointment")
     
    objCdoPerson.DataSource.Open strURL
     
    WScript.Echo "URL du calendrier " & iMailBox.Calendar
     
    Set iAppointment = objCdoAppointment.GetInterface("IAppointment")
    iAppointment.DataSource.Open iMailBox.Calendar
    Il me fait toujours une erreur , dernière ligne (donc toujours avec l'url du calendrier), ID de colonne non valide, 80040E1, Source CDO.Appointment.1 ... Pour moi c'est du chinois, qu'est ce qui ne va pas dans mon code?

    Merci de votre aide.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Que te renvois normalement calendar ? un chemin vers un calendrier ?

    Si c le cas, peux tu essayer dans ta dernière ligne de remplacer iMailBox.calendar par une string représentant le chemin complet vers un calendrier ? Puis par le chemin que te renvois iMailBox.calendar (en dur en string) ?
    Cela permettra de déterminer à quel niveau cela merde : chemin du calendrier faux, iAppointment.DataSource.Open mal utilisé, ...

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Que te renvois normalement calendar ? un chemin vers un calendrier ?
    Oui

    Citation Envoyé par ced600 Voir le message
    Si c le cas, peux tu essayer dans ta dernière ligne de remplacer iMailBox.calendar par une string représentant le chemin complet vers un calendrier ? Puis par le chemin que te renvois iMailBox.calendar (en dur en string) ?
    Cela permettra de déterminer à quel niveau cela merde : chemin du calendrier faux, iAppointment.DataSource.Open mal utilisé, ...
    OK. La chaîne récupérée est du type:
    file://./backofficestorage/xxxxxxxxxxxxx.com/MBX/yyyyyyyyyyyy/Calendrier
    Où xxxxxx est le nom de domaine du serveur, et yyyyy un identifiant utilisateur.

    Quand je test avec cette chaîne directement, ça me renvoie la même erreur. Ce serait donc:
    1. Ou l'appel de la méthode que je fais n'importe comment, et je dois lui donner un autre argument (??? help !! )
    2. Ou mon appel à objCdoPerson qui pour une raison obscure me renvoit n'importe quoi...

    Pour infos le path file://./backofficestorage/xxxxxxxxxxxxx.com/MBX/yyyyyyyyyyyy/Calendrier ne correspond à rien sur le serveur...

    Théo

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mars 2007
    Messages : 186
    Par défaut
    J'ai été voir là:
    http://msdn.microsoft.com/en-us/libr...EXCHG.65).aspx
    et aussi là:
    http://msdn.microsoft.com/en-us/libr...EXCHG.65).aspx

    Apparemment ils utilisent un objet ADODB pour trouver l'url de connexion... Je ne connais pas ADODB, quelques tuyaux?

    Je vais essayer de faire quelque chose à partir du script cité au dessus... histoire de. Mais ils spécifient quand même:

    Note The URLs in the preceding table are only examples. You should not construct them manually in your application. You can retrieve all of the URLs in a user's localized mailbox folder by using the IMailBox Interface on a Collaboration Data Objects (CDO) Person object or by retrieving properties, such as the inbox Field or calendar Field, on the base mailbox folder.
    Je suis perplexe...


    Théo

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Perso je n'ai jamais piloté exchange, mais j'ai trouvé des meilleurs lien sur le site MSDN :

    1. L'utilisation de la méthode Open de l'interface IDataSource.
    2. L'interface ImailBox.
    3. Modifying Objects Using CDOEX and ADO.


    Dans le premier lien regarde notement le dernier exemple (du VBS).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [BlackBerry] [BES + Exchange] Récupération des mails non lues sur serveur
    Par afrodje dans le forum Mobiles
    Réponses: 0
    Dernier message: 20/04/2012, 18h41
  2. [Connexion à Exchange][Récupération des agendas]
    Par Théolude dans le forum VBScript
    Réponses: 1
    Dernier message: 22/07/2008, 12h13
  3. chaine de connexion et récupération des données
    Par msahmi dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 29/04/2008, 09h22
  4. Récupération des agendas partagés outlook
    Par shake dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/04/2008, 12h29
  5. JTable, tri et récupération des objets du tablemodel
    Par willowII dans le forum Composants
    Réponses: 1
    Dernier message: 07/12/2006, 20h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo