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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Programmeur occasionnel
    Inscrit en
    mai 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur occasionnel

    Informations forums :
    Inscription : mai 2019
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Accès à un agenda partagé GOOGLE depuis MS ACCESS (via outlook)
    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 :

    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
    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
    Set oCalendar = namespaceOutlook.GetSharedDefaultFolder(myrecipient, olFolderCalendar)
    Merci d'avance pour votre aide...

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    mars 2006
    Messages
    3 787
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : mars 2006
    Messages : 3 787
    Points : 6 613
    Points
    6 613
    Billets dans le blog
    18
    Par défaut
    Bonjour,
    Quand tu cliques bouton droit puis propriétés sur ton calendrier diet tu vois son emplacement

    de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       Set oCalendar = namespaceOutlook.Folders("Calendriers internet")
     Set oCalendar = oCalendar.Folders("Calendrier Doodle")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Programmeur occasionnel
    Inscrit en
    mai 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur occasionnel

    Informations forums :
    Inscription : mai 2019
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Merci Oliv, je teste ça dès que possible et je te dis !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Programmeur occasionnel
    Inscrit en
    mai 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur occasionnel

    Informations forums :
    Inscription : mai 2019
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup, ça fonctionne parfaitement !

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

Discussions similaires

  1. Comment Partager base de données Access via une adresse IP Fixe "NO-IP" ?
    Par ACCENT1981 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/11/2016, 10h38
  2. Envoyé Etat Access via Outlook
    Par Grantourismo dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/04/2010, 22h24
  3. [WEB]Partage d'une base Access Via Internet
    Par MARYSOU dans le forum Access
    Réponses: 17
    Dernier message: 03/05/2007, 17h37
  4. Envoi de mail depuis Excel 2003 via Outlook 2003
    Par SlySylvain dans le forum Excel
    Réponses: 2
    Dernier message: 19/04/2007, 10h01
  5. Envoi de mail par Access via Outlook
    Par SpiderKarim dans le forum Access
    Réponses: 5
    Dernier message: 27/09/2006, 17h21

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