Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/04/2008, 17h54   #1
Zan
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2006
Messages : 81
Points : 34
Points : 34
Par défaut Recuperer les données du calendrier

Bonjour,
Est-il possible de récupérer via flux xml ou autre les données du jour du calendrier et/ou agenda de outlook.

Je voudrais utiliser cela pour un programme en flash affichant les infos du jour sur une appli en flash.

D'après moi cela est impossible car microsoft blinde son logiciel pour éviter ce genre de chose mais au cas ou ...

Merci
Zan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 20h05   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
Salut,

Voici un code qui permet d'exporter le dossier Calendrier sous le format ics.
Si tu peux interpréter le format ics et tu possède Outlook 2007, tu peux utiliser ceci :

Code :
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
Sub ExportCalendrier_ics()
'---------------------------------------------------------------------------------------
' Procédure : ExportCalendrier_ics
' Auteur    : Dolphy35 - http://dolphy35.developpez.com/
' Date      : 08/04/2008
' Détail    : Exporte le calendrier par défaut dans un fichier ics
'---------------------------------------------------------------------------------------
'***************************************
'* NE FONCTIONNE QUE SOUS OUTLOOK 2007 *
'***************************************
 
    'Déclaration des objets
    Dim nsMAPI As NameSpace
    Dim fldDossier As Folder
    Dim cldExport As CalendarSharing
 
    'Instance des objets
    Set nsMAPI = Application.GetNamespace("MAPI")
    Set fldDossier = nsMAPI.GetDefaultFolder(olFolderCalendar)
 
    'Instancie le dossier Calendrier pour l'export
    Set cldExport = fldDossier.GetCalendarExporter
 
    'instance de l'objet Calendrier (dossier)
    With cldExport
        'information de disponibilité
        .CalendarDetail = olFullDetails
        'N'exporte que les éléments situés dans les horaires de travail
        .RestrictToWorkingHours = True
        'Exclu les pièces jointe
        .IncludeAttachments = False
        'Ajoute les éléments privés
        .IncludePrivateDetails = True
        'Sauvegarde le fichier au chemin définit
        .SaveAsICal "C:\MonCalendrier.ics"
    End With
 
    'vide les instances
    Set cldExport = Nothing
    Set fldDossier = Nothing
    Set nsMAPI = Nothing
 
End Sub
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h08   #3
Membre actif
 
Laurent CUENET
Inscription : août 2007
Messages : 139
Détails du profil
Informations personnelles :
Nom : Laurent CUENET

Informations forums :
Inscription : août 2007
Messages : 139
Points : 161
Points : 161
Envoyer un message via MSN à Laurent CUENET Envoyer un message via Skype™ à Laurent CUENET
Bonjour,

Dolphy te propose une export dans un format standard de calendrier mais...

Micrososft blinde tellement son logiciel que tu peux l'exporter dans presque tous les formats. C'est juste une question de temps de développement. Si tu travailles avec Exchange, tu peut l'interroger par WebDAV au format XML directement, dans le cas Micrososft Outlook seul, tu peux faire une Macro qui génère un fichier XML et tu écris dedans les infos comme tu le souhaites (un peu long, mais ca marche).

A bientôt,
Laurent CUENET est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h23   #4
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Salut,
Tu veux faire quelques chose qui ressemble à la page "outlook aujourdhui" ?
Ca doit être possible regarde du coté de chez "GOOGLE DESKTOP" et leur barre latérale
http://www.google.com/ig/directory?u...et.xml&synd=gd

Ils proposent des API et autres outils http://code.google.com/more/

Sinon tu peux te connecter par CDO
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h26   #5
Zan
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2006
Messages : 81
Points : 34
Points : 34
Bonjour à tous, merci pour vos réponse.

J'aimerais simplement afficher les infos du calendrier du jour, rendez-vous etc. enregistrés dans Outlook dans une application Flash, sans pour autant devoir coder plein de chose ^^.

Une solution simple serait de récupérer via flux xml les infos, mais Outlook ne semble pas générer ce genre de flux.
cela est peut être tout simplement impossible!

Pour le vb, c'est un langage que je ne connais pas sauf de nom.
Zan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 10h48   #6
Membre actif
 
Laurent CUENET
Inscription : août 2007
Messages : 139
Détails du profil
Informations personnelles :
Nom : Laurent CUENET

Informations forums :
Inscription : août 2007
Messages : 139
Points : 161
Points : 161
Envoyer un message via MSN à Laurent CUENET Envoyer un message via Skype™ à Laurent CUENET
Bonjour,

Rien de facile si tu ne connais pas vb. La meilleur solution reste l'enregistrement au format *.ics ou un fichier csv.

A bientôt,
Laurent CUENET est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 23h20   #7
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 745
Points : 8 745
Salut,

voici un code qui permet d'exporter le calendrier au format csv, dans le même principe tu peux faire la même chose pour un fichier xml.

Code :
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
Sub Export_CalendrierCSV()
'---------------------------------------------------------------------------------------
' Procédure : Export_CalendrierCSV
' Auteur    : Dolphy35 - http://dolphy35.developpez.com/
' Date      : 09/04/2008
' Détail    : Permet d'exporter le calendrier sous forme CSV
'---------------------------------------------------------------------------------------
'
'Quelques explications :
' - Création d'un fichier au format csv (séparation avec des ;).
'
' - Crétaions des entêtes de colonnes.
'
' - Définition si élément sur une journée, dans ce cas on met une croix dans la première colonne
'   et on ne met que la date de l'événement, sinon on met rien dans la première colonne mais on
'   charge les colonne Date et heure de début ainsi que dtae et heure de fin.
'
' - On charge ensuite le Sujet, la Description
'
' - La Priorité     0 -> faible importance
'                   1 -> moyenne importante
'                   2 -> haute importance
'
' - La Catégorie.
'
' - La Disponibilité  0 -> disponible
'                     1 -> rendez-vous provisoire
'                     2 -> occupé
'                     3 -> absent
'
' - La classification de l'élément  0 -> Normal
'                                   1 -> Personnel
'                                   2 -> Privé
'                                   3 -> Confidentiel
'
    'Déclarations des variables et objets
    Dim objApply As Outlook.Application
    Dim objNameSpace As Outlook.NameSpace
    Dim objFolder As Outlook.MAPIFolder
    Dim objCalendrier As Outlook.AppointmentItem
    Dim intNbr As Integer
    Dim strStream As String
    Dim objFSO As New Scripting.FileSystemObject
    Dim fsoFichier As Scripting.TextStream
 
    'Instance et création du fichier texte
    Set fsoFichier = objFSO.CreateTextFile("C:\test.csv", True)
    'Chargement des entêtes de colonnes
    strStream = "Evénement sur une journée;Date Début;Heure Début;Date Fin;Heure Fin;Sujet;Description;Lieu;" & _
                "Organisateur;Priorité;Catégorie;Dispo;Classification"
    'Ecriture dans le fichier
    fsoFichier.WriteLine (strStream)
    'Instance des objets Outlook
    Set objApply = Outlook.Application
    Set objNameSpace = objApply.GetNamespace("MAPI")
    Set objFolder = objNameSpace.GetDefaultFolder(olFolderCalendar)
    'Boucle en focnction du nombre d'éléments
    For intNbr = 1 To objFolder.Items.Count
        'Instance du Calendrier
        Set objCalendrier = objFolder.Items.Item(intNbr)
        'Teste si élément sur un journée
        If objCalendrier.AllDayEvent = True Then
            'si sur 1 journée
            strStream = "X;" & Format(objCalendrier.Start, "dd/mm/yyyy") & ";;;;"
        Else
            'pas sur 1 journée
            strStream = ";" & Format(objCalendrier.Start, "dd/mm/yyyy") & ";" & Format(objCalendrier.Start, "hh:mm") & ";" & _
                        Format(objCalendrier.End, "dd/mm/yyyy") & ";" & Format(objCalendrier.End, "hh:mm") & ";"
        End If
        'Chargement dans la variable de la partie commune
        strStream = strStream & objCalendrier.Subject & ";" & objCalendrier.Body & ";" & objCalendrier.Location & ";" & _
                    objCalendrier.Organizer & ";" & objCalendrier.Importance & ";" & objCalendrier.Categories & ";" & _
                    objCalendrier.BusyStatus & ";" & objCalendrier.Sensitivity
        'Ecriture dans le fichier
        fsoFichier.WriteLine (strStream)
    Next
    'Fermeture du fichier
    fsoFichier.Close
    'Message de fin d'export
    MsgBox "Export terminé"
End Sub
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h05.


 
 
 
 
Partenaires

Hébergement Web