vba - 自动拒绝会议邀请运行时错误 91:对象变量或未设置块变量
问题描述
我在多个位置找到了自动拒绝会议请求的代码。
在我的 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:对象变量或未设置块变量。
我创建了一个用于测试的临时宏,它在 Outlook 中获取当前选定的会议邀请,并将其提供给 AutoDecline 脚本。这就是我让错误显示出来的方式。
Sub TestMacro()
Dim TestItem As MeetingItem
Set TestItem = ActiveExplorer.Selection.Item(1)
Call AutoDeclineMeetings(TestItem)
End Sub
我希望拒绝响应被丢弃而不是发送给会议发起者,因此我不会向他们发送垃圾邮件。
解决方案
如果不需要响应,我认为您不需要对响应做任何事情。我相信您会收到错误消息,因为您试图在响应窗口未打开时关闭它。您可以尝试更改以下行以查看它是否消除了错误:
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
推荐阅读
- android - 您的应用正在使用 HostnameVerifier 接口的不安全实现如何解决
- javascript - 如何单独检查具有相同名称的复选框?
- python - Django Channels group send 仅将消息发送到最后一个通道
- sql - 如何修复 SQL 触发器
- typescript - 为什么我可以将接口分配给没有任何值的变量?
- python - 尝试使用 python pyspark.sql.types lib 读取使用数据类型创建的表时出现 Tableau to Athena 错误
- r - 按 R 组汇总数据
- java - Springboot:使用 REST 服务发布新对象时出现类型定义错误
- javascript - 尝试导入错误:“Outlet”未从“react-router-dom”导出
- javascript - 我们如何创建像“arguments”这样的类数组对象?