提问人:Keesler Water Walker 提问时间:5/16/2019 最后编辑:Martijn PietersKeesler Water Walker 更新时间:6/18/2020 访问量:242
自动拒绝会议邀请运行时错误 91:对象变量或未设置块变量
Auto-Decline Meeting Invite Run-Time Error 91: Object variable or With block variable not set
问:
我在多个位置找到了自动拒绝会议请求的代码。
在我的Outlook 2013中,作为规则的操作,它停在打算丢弃的行上,而不是发送回复。
会议组织者不需要所有人的响应。由于它在小组日历上,我不需要它在我的个人中,因为它们不是我参与的会议。
Outlook 规则在遇到运行时错误时,会中止脚本并在几个其他操作(标记为读取和删除)之前跳出。
这导致邀请保留在我的收件箱中,我不知道向组织者发送垃圾邮件是什么。
Sub AutoDeclineMeetings(oRequest As MeetingItem)
If oRequest.MessageClass <> "IPM.Schedule.Meeting.Request" Then
Exit Sub
End If
Dim oAppt As AppointmentItem
Set oAppt = oRequest.GetAssociatedAppointment(False)
Dim oResponse
Set oResponse = oAppt.Respond(olMeetingDeclined, True)
oResponse.Close (olDiscard)
'These actions I added for my rule to discard the invite from the inbox.
oRequest.UnRead = False
oRequest.Delete
End Sub
在我收到的线路上oResponse.Close (olDiscard)
运行时错误 91:未设置对象变量或 With 块变量。
我创建了一个用于测试的临时宏,该宏在 Outlook 中获取当前选定的会议邀请,并将其馈送到 AutoDecline 脚本中。这就是我让错误显示自己的方式。
Sub TestMacro()
Dim TestItem As MeetingItem
Set TestItem = ActiveExplorer.Selection.Item(1)
Call AutoDeclineMeetings(TestItem)
End Sub
我希望放弃拒绝响应,而不是发送给会议发起人,这样我就不会向他们发送垃圾邮件。
答:
0赞
mekaneck
6/12/2019
#1
如果不需要响应,我认为您不需要对响应执行任何操作。我相信您收到错误是因为您正在尝试在响应窗口未打开时关闭它。您可以尝试更改以下行,看看它是否摆脱了错误:
Set oResponse = oAppt.Respond(olMeetingDeclined, False, True)
我有类似的宏,如果没有请求响应,我根本不做任何事情。例如:
Set oResponse = oAppt.Respond(olMeetingDeclined, True)
If oAppt.ResponseRequested Then
oResponse.Send
End If
oRequest.UnRead = False
oRequest.Delete
评论