J'utilise VBA pour analyser MAPIFolders
pour Items
créé avant une certaine date afin de les déplacer vers une archive PST. Normalement, Item.CreationDate
est un bon point d'accès pour rechercher les "anciens" éléments Outlook, mais pour les entrées d'agenda, la "date de création" peut être bien antérieure à la "date de début".Rechercher le type d'objet sous-jacent pour Outlook MeetingItem
Mon problème est avec le type MeetingItem
qui peut être
- un rendez-vous où
.GetAssociatedAppointment(False)
semble fonctionner très bien - un msg d'acceptation à un rendez-vous reçu où
.GetAssociatedAppointment(False)
accidents
Toute idée comment distinguer entre les cas ci-dessus pour utiliser le type d'objet sous-jacent correct dans l'instruction Set?
Note: essayant d'inspecter E dans le débogueur après qu'il a été Set
résultats toujours "Outlook a rencontré un problème et doit fermer ..."
Private Function TimeOf(I As Object) As Date
Dim A As AppointmentItem
Dim M As MailItem
Dim E As MeetingItem
Dim T As TaskItem
Dim C As TaskRequestAcceptItem
Dim D As TaskRequestDeclineItem
Dim Q As TaskRequestItem
Dim U As TaskRequestUpdateItem
Select Case TypeName(I)
Case "AppointmentItem"
Set A = I
TimeOf = A.Start
Set A = Nothing
Case "MailItem"
Set M = I
TimeOf = M.ReceivedTime
Set M = Nothing
Case "MeetingItem"
Set E = I
Set A = E.GetAssociatedAppointment(False) ' doesn't work if item is a
' response to an Appointment received
TimeOf = A.Start ' <-- ERROR: Object variable ... not set
Set E = Nothing
Set A = Nothing
Case "TaskItem"
Set T = I
TimeOf = T.Start
Set T = Nothing
Case "TaskRequestAcceptItem"
Set C = I
TimeOf = C.Start
Set C = Nothing
Case "TaskRequestDeclineItem"
Set D = I
TimeOf = D.Start
Set D = Nothing
Case "TaskRequestItem"
Set Q = I
TimeOf = Q.Start
Set Q = Nothing
Case "TaskRequestUpdateItem"
Set U = I
TimeOf = U.Start
Set U = Nothing
Case Else
TimeOf = I.CreationTime
End Select
End Function
Bonjour et merci pour votre réponse; désolé je ne peux pas tester maintenant que je suis en vacances Chtristmas, mais je fais confiance à vos explications et donc accepter votre solution. Reviendra sur les résultats au début de Janvier. Salutations de saison - MikeD – MikeD