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

C# Discussion :

Exchange accès aux données C#


Sujet :

C#

  1. #1
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut Exchange accès aux données C#
    salut

    VS2008, C# + outlook2007, Exchange 2003

    voilà j'ai un dossier public avec des tâches ...

    je souhaiterais pouvoir les exporter sur Excel... je le fais avec les tâches perso, ca marche mais je ne sais pas comment accéder aux dossiers publics ??? avec l'Id mais comment la récupérer? Est-ce possible avec le nom du dossier??

    si qq un a déjà ce genre de recherche ...;

    merci

    en attendant je continue mes recherches ....

    jp

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Regarde du coté de WebDav, cela t'aidera p-e....

  3. #3
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    salut
    merci de t'etre penché sur mon cas !
    j'ai réussi à exporter mes taches partagées dans un fichier Excel avec ce code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    Outlook.TaskItem Tache = (Outlook.TaskItem)
                this.Application.CreateItem(Outlook.OlItemType.olTaskItem);
     
                try
                {
                    Outlook.Folders folders = this.Application.ActiveExplorer().Session.Folders;
                    Outlook.Folder DossiersPublics = (Outlook.Folder)folders["Dossiers Publics"];
                    Outlook.Folder tous = (Outlook.Folder)DossiersPublics.Folders["Tous les dossiers publics"];
                    Outlook.Folder RSI = (Outlook.Folder)tous.Folders["RSI"];           //sous dossier
                    Outlook.Folder Incidents = (Outlook.Folder)RSI.Folders["Incidents"];//dossier publics taches
     
                    Outlook.Items searchFolder = Incidents.Items;
     
                    #region ouverture EXCEL
                    Excel._Worksheet xlFeuill;
     
                    Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                    excel.Visible = true;
     
                    Excel.Workbook classeur;
     
                    string chemin = @"C:\Taches.xltx";
                    object Omissing = Type.Missing;
                    object Otrue = true;
                    // Ouvrir le doc à partir du modèle
                    classeur = excel.Workbooks.Open(chemin, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing, Omissing);
     
                    Microsoft.Office.Interop.Excel.Sheets xlFeuilles = classeur.Sheets;
                    xlFeuill = (Microsoft.Office.Interop.Excel._Worksheet)xlFeuilles["Feuil1"];
                    xlFeuill.Select(Type.Missing);
     
                    #endregion
     
                    Int counter = 0;
                    foreach (Outlook.TaskItem Taches in searchFolder) //transfert dans Excel
                    {
                        if (Taches.Status != Microsoft.Office.Interop.Outlook.OlTaskStatus.olTaskComplete)
                        {
                            xlFeuill.Cells[counter + 3, "a"] = Taches.Subject;
     
                            #region test ETAT
     
                            string TachesStatus = "ee";
                            switch (Taches.Status.ToString())
                            {
                                case "olTaskComplete":
                                    TachesStatus = "Terminée";
                                    break;
                                case "olTaskDeferred":
                                    TachesStatus = "Différée";
                                    break;
                                case "olTaskInProgress":
                                    TachesStatus = "En cours de réalisation";
                                    break;
                                case "olTaskNotStarted":
                                    TachesStatus = "Non commencée";
                                    break;
                                case "olTaskWaiting":
                                    TachesStatus = "Attente de quelqu'un d'autre";
                                    break;
     
                                default:
                                    break;
                            }
                            #endregion
     
                            xlFeuill.Cells[counter + 3, "b"] = TachesStatus.ToString();
     
                            #region Gestion des dates (pas de date d'échéance)
                            DateTime datetest = new DateTime(4501, 01, 01);
                            if (Taches.DueDate == datetest)
                            {
                                xlFeuill.Cells[counter + 3, "c"] = "";
                            }
                            else
                            {
                                xlFeuill.Cells[counter + 3, "c"] = Taches.DueDate.ToShortDateString();
                            }
                            #endregion
     
                            xlFeuill.Cells[counter + 3, "d"] = Taches.PercentComplete;
     
                            counter = counter + 1;
                        }
                    }
                    MessageBox.Show("Il y a " + counter + " Tâches.");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message );
                }
    mais maintenant j'ai une erreur (cf pieces jointes)

    en fait, le dossier partagé des taches contient 1584 taches pour une trentaine en cours .... je n'exporte que celles en cours mais il s'arrete à la 23ème ... avec cette erreur la.... et la je vois pas trop ...

    merci bien ....

    jp
    Images attachées Images attachées  

  4. #4
    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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Commence par sortir le string TachesStatus = "ee"; de ta boucle.
    Ce n'est pas l'erreur mais il n'a rien à faire dans la boucle, mais le avant (pauvre machine )

    Ensuite dans ta boucle, dans ton If, test la validité de "taches", s'il est null, s'il contien des subject ou status. Et ceci avant d'utiliser ses méthodes ou ses propriétés.
    Je ne suis pas sur mais j'ai l'impression que l'erreur surviens parce qu'une taches est nulle ou vide.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    alors la ... merci ced600 ! c'était ca !! une c'était une publication qui trainait la .. qui n'avait donc pas toutes les propriétés des taches....

    mais nouvelle erreur !!!! lié à exchange je crois ... car exchange doit "ouvrir" l'élément un truc du style puisqu'il me dit que je n'ai pas le droit d'ouvrir un trop grand nombre d'éléments simultanéement ....

    je vais voir ca .....

    merci

    ++
    jp

  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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Après moi exchange, je ne l'ai jamais piloté alors ...
    J'ai juste reconnu le type d'erreur.
    A force de s'en manger on les reconnait
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/09/2005, 08h47
  2. [SGBD]Optimiser le temps d'accès aux données (schéma BD)
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 08/10/2004, 18h33
  3. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  4. accès aux donnée d'un DBGRID
    Par relax_06 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 23h06
  5. [TDataModule] Intérêt de séparer les accès aux données?
    Par Cornell dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/09/2003, 16h42

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