Bonjour,
Sous Outlook, j'ai un agenda type ical qui me permet de visualiser un agenda google. Ça, ça fonctionne.
Depuis ACCESS, en VBA, je voudrais extraire les rdv de cet agenda sur une plage donnée.
Extraire les rdv sur une plage donnée, j'y arrive avec l'agenda outlook par défaut.
Par contre, je galère pour accéder à l'agenda google pourtant visible sous outlook.
Arborescence outlook :
- Mes Calendriers
- Calendrier
- Autres calendriers
- diet <<<<=== c'est à cet agenda que je voudrais accéder
Le code :
VBA me dit : "Echec de l'opération. Impossible de trouver l'objet" lorsqu'il est sur la ligne
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 Private Sub Commande26_Click() ' ENVOI DES EMAILS DE RAPPEL Dim strMailDest As String ' email destinataire Dim strMailMessage As String ' corps du mail Dim strMailTitre As String ' titre du mail Dim myStart As Date ' date de début de scruptation Dim myEnd As Date ' date de fin de scruptation Dim oCalendar As Outlook.MAPIFolder Dim oItems As Outlook.Items Dim oResItems As Outlook.Items Dim oAppt As Outlook.AppointmentItem Dim strRestriction As String ' critères de filtrage outlook calendar Dim oOutlook As Outlook.Application Dim namespaceOutlook As Outlook.NameSpace Dim myrecipient As Object myStart = Date ' date du jour myEnd = DateAdd("d", 8, myStart) ' date du jour + 5 jours 'Set oCalendar = Outlook.Session.GetDefaultFolder(olFolderCalendar) Set oOutlook = CreateObject("Outlook.Application") Set namespaceOutlook = oOutlook.GetNamespace("MAPI") Set myrecipient = namespaceOutlook.CreateRecipient("monnom@gmail.com") myrecipient.Resolve Set oCalendar = namespaceOutlook.GetSharedDefaultFolder(myrecipient, olFolderCalendar) Set oItems = oCalendar.Items strRestriction = "[Start] <= '" & Format$(myEnd, "mm/dd/yyyy hh:mm AMPM") _ & "' AND [End] >= '" & Format(myStart, "mm/dd/yyyy hh:mm AMPM") & "'" Debug.Print strRestriction 'Restrict the Items collection Set oResItems = oItems.Restrict(strRestriction) For Each oAppt In oResItems strMailTitre = "Rappel concernant votre prochain rendez-vous diététique" strMailMessage = "Bonjour" & vbCrLf & vbCrLf & "Ceci est un message automatique de rappel de rendez-vous." & vbCrLf & "Patient : " & oAppt.Subject & vbCrLf & "Date du rendez-vous : " & oAppt.Start & vbCrLf & vbCrLf & "En cas d'impossibilité de venir à ce rendez-vous, merci de me prévenir au XXXXXXXX." & vbCrLf & "Cordialement," & vbCrLf & "XXXX" strMailDest = "monnom@gmail.com" ' à terme aller chercher le mail de la personne ' Envoi du message SendMail strMailDest, strMailTitre, strMailMessage, False Next End Sub
Merci d'avance pour votre aide...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set oCalendar = namespaceOutlook.GetSharedDefaultFolder(myrecipient, olFolderCalendar)
Partager