Ich verwende VBA zu scannen MAPIFolders
für Items
vor einem bestimmten Datum erstellt, um sie in ein Archiv PST verschieben. Normalerweise ist Item.CreationDate
ein guter Haken, um nach "alten" Outlook-Elementen zu suchen, aber bei Kalendereinträgen kann das "Erstellungsdatum" weit vor dem "Startdatum" liegen, so dass ich für Kalendereinträge eher letzteres verwenden möchte.Finden Sie zugrunde liegenden Objekttyp für Outlook MeetingItem
Mein Problem ist mit Typ MeetingItem
die
- ein Termin sein kann, wo
.GetAssociatedAppointment(False)
scheint in Ordnung - eine Abnahme msg auf eine empfangene Termin zu arbeiten, wo
.GetAssociatedAppointment(False)
Abstürze
Irgendeine Idee, wie man Unterscheiden Sie zwischen den obigen Fällen, um den korrekten zugrunde liegenden Objekttyp in der Set-Anweisung zu verwenden?
Hinweis: versuchen, E im Debugger zu untersuchen, nachdem es Set
gewesen führt immer in "Outlook hat ein Problem festgestellt und muss beendet ..."
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
Hallo und danke für Ihre Antwort; Entschuldigung, ich kann jetzt nicht testen, da ich in Chtristmas Ferien bin, aber ich vertraue deinen Erklärungen und akzeptiere deine Lösung. Wird Anfang Januar auf die Ergebnisse zurückkommen. Jahreszeit Grüße - MikeD – MikeD