Я использую VBA для сканирования MAPIFolders
для Items
, созданного до определенной даты, чтобы переместить их в архив PST. Обычно Item.CreationDate
- хороший крючок для поиска «старых» элементов Outlook, но для записей календаря «дата создания» может быть до «даты начала», поэтому для записей календаря я скорее хочу использовать последнее.Найти базовый тип объекта для Outlook MeetingItem
Моя проблема с типом MeetingItem
, который может быть
- встречу, где
.GetAssociatedAppointment(False)
кажется, работает хорошо - принятие Сообщ к получил назначение где
.GetAssociatedAppointment(False)
аварии
Любая идея, как отличить вышеуказанные случаи от использования правильного базового типа объекта в инструкции Set?
Примечание: пытается осмотреть E в отладчике после того, как было Set
всегда приводит к «Outlook обнаружена ошибка и нужно закрыть ...»
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
привет и спасибо за ваш ответ; жаль, что я не могу проверить прямо сейчас, поскольку я на праздники Рождества, но я доверяю вашим объяснениям и поэтому принимаю ваше решение. Отправляется в ответ на результаты в начале января. Приветствия сезона - MikeD – MikeD 2010-12-21 08:13:29