J'ai eu un mal fou à trouver comment faire tout ça, alors je me suis dit que cela pourrait aider de faire une source permettant la MAJ du calendrier Outlook ainsi que l'envoi de mail.
Source / Exemple :
'Envoie de mail
Dim objOutlook as New Outlook.Application
Dim objOutlookMsg as Outlook.MailItem
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
.To = "Adresse@Destinataire"
.Subject = "Objet du message"
.Body = "Texte du message"
.Send
End With
Set objOutlookMsg = Nothing
'Ajout d'un rdv au calendrier
Dim objOutlook as New Outlook.Application
Dim objOutlookAppt as Outlook.AppointmentItem
Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
With objOutlookAppt
.Start = "jj/mm/aaaa hh:mm"
.Duration = x 'En minute
.Subject = "Description du rendez-vous"
.Save
End With
'Modifier/Supprimer un rdv du calendrier
Dim objOutlook as New Outlook.Application
Dim objOutlookAppt as Outlook.AppointmentItem
Dim objOutlookCalendar as Outlook.Items
Dim objOutlookNameSpace as Outlook.NameSpace
Dim DateDebut as String, DateFin as String
Set objOutlookNameSpace = objOutlook.GetNameSpace("MAPI")
Set objOutlookCalendar = objOutlookNameSpace.GetDefaultFolder(olFolderCalendar).Items
objOutlookCalendar.Sort "[Start]"
objOutlookCalendar.IncludeReccurrences = True
DateDebut = "jj/mm/aaaa hh:mm"
DateFin = "jj/mm/aaaa hh:mm"
Set objOutlookAppt = objOutlookCalendar.Find("[Start] >= " " " & DateDebut & " " " and [Start] <= " " " & DateFin & " " " ")
While TypeName(objOutlookAppt) <> "Nothing"
If objOutlookAppt.Subject = "RDV recherché pour etre modifié" then
objOutlookAppt.Subject = "Nouveau sujet"
objOutlookAppt.Save
Exit Sub
End If
If objOutlookAppt.Subject = "RDV recherché pour supprimé" then
objOutlookAppt.Delete
Exit Sub
End If
Set objOutlookAppt = objOutlookCalendar.FindNext
Wend
Conclusion :
Une petite précision au sujet des dates : peu importe dans l'ajout, mais dans le objOutlookCalendar.Find(), il ne faut pas mettre les secondes dans les dates sinon il deboguera.
Point Important : rien ne marche... si vous n'avez pas cocher Microsoft Outlook x.0 Object Library dans Projet/Références, alors n'oubliez pas ;-)
Vérifié bien que Outlook est bien configuré, sinon, même si le code est bon, Outlook vous causera des problèmes.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.