![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Localisation: Lyon
Messages: 73
|
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 |
|
|
|
|
|
#2 (permalink) |
![]() |
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 :
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
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
|
|
#3 (permalink) |
|
Membre régulier
![]() |
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, |
|
|
|
|
|
#4 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 446
|
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
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#5 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2006
Localisation: Lyon
Messages: 73
|
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. |
|
|
|
|
|
#7 (permalink) |
![]() |
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 :
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
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
![]() |
![]() |
||
Recuperer les données du calendrier
|
||
| Outils de la discussion | |
|
|