Vba 约会删除失败,可能是因为AppointmentItem为空?
我有大量关于约会/取消的电子邮件发送给我希望自动接受或取消的用户,然后从他们的收件箱中删除。accept方法似乎可以工作,但此方法会针对指向OAppoint.Delete行的每次取消向用户发送调试报告。Vba 约会删除失败,可能是因为AppointmentItem为空?,vba,outlook,Vba,Outlook,我有大量关于约会/取消的电子邮件发送给我希望自动接受或取消的用户,然后从他们的收件箱中删除。accept方法似乎可以工作,但此方法会针对指向OAppoint.Delete行的每次取消向用户发送调试报告。 我的想法是,它在某些情况下出错,oMeetingItem.GetAssociatedAppointment返回null,因此它没有要删除的内容。这只是一种预感。有什么想法吗?是的,如果您将false传递给GetAssociatedAppointment,它将不会创建一个尚未存在的约会。在运行此宏
我的想法是,它在某些情况下出错,oMeetingItem.GetAssociatedAppointment返回null,因此它没有要删除的内容。这只是一种预感。有什么想法吗?是的,如果您将false传递给GetAssociatedAppointment,它将不会创建一个尚未存在的约会。在运行此宏的情况下,始终存在一个已存在的约会。在进行测试时,我可以在日历上看到取消的约会。如果是这种情况,您知道是什么导致了这种情况吗?运行时错误“91”:未设置对象变量或With block变量,这是真正让我困惑的问题…它将给出错误消息并询问我是否要调试。然后,调试将指向删除行。然而,当我关闭调试时,它成功地删除了约会!如果不是因为人们会一次取消大量约会,并且会出现20-50个错误窗口,那么这并不是什么大问题。因此,当您逐步查看代码时,OAppoimmation变量是否为null?
Sub AutoCancel(ByRef Item As Outlook.MeetingItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim oMeetingItem As Outlook.MeetingItem
Dim oResponse As Outlook.MeetingItem
Dim oAppointment As Outlook.AppointmentItem
strID = Item.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set oMeetingItem = olNS.GetItemFromID(strID)
Set oAppointment = oMeetingItem.GetAssociatedAppointment(False)
oAppointment.Delete
Set oAppointment = Nothing
Set oMeetingItem = Nothing
Set olNS = Nothing
End Sub