有没有办法在 Outlook 中自动拒绝或接受来自特定发件人的会议请求?
我知道我可以创建一条规则,将包含特定发件人会议请求的邮件移动到特定文件夹,或删除它们,但请求的会议仍会显示在我的日历上。我想自动拒绝某些人的请求,这样他们就不会出现在我的日历上。
在“选项”>“日历”中,我看到“自动接受/拒绝”选项,但这些选项似乎适用于所有请求,而不仅仅是来自特定发件人的请求。
我正在使用 Outlook 2013,它是 MS Office Professional Plus 2013 的一部分。
我在这里看到了关于这个主题的其他问题,但答案并没有解决我所担心的问题,即所请求的会议仍然出现在我的日历上。我无法对这些问题发表评论,因为我还没有足够的声誉。
答案1
可以通过删除规则来拒绝,方法是在“选择条件”对话框中指定选项“这是会议邀请或更新”。
有关使用答案模板拒绝的详细教程(带屏幕截图),请参阅文章 如何在 Outlook 中自动拒绝来自特定人员的会议邀请?。
问题实际上在于接受,这无法使用规则来完成。这需要 VBA 编程(哎哟!),如下所示:
Alt按下+键F11打开 Microsoft Visual Basic for Applications 窗口
在 Microsoft Visual Basic for Applications 窗口的左侧窗格中,双击
ThisOutlookSession
打开“代码”窗口,然后将以下 VBA 代码复制到窗口中。此脚本还将设置提醒期限,但如果您不想要,请删除以 开头的部分With xAppointmentItem
。End With
替换引号内的“发件人姓名”和/或向其 IF 命令添加更多条件。
Public WithEvents GItems As Outlook.Items
Private Sub Application_Startup()
Set GItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub GItems_ItemAdd(ByVal Item As Object)
Dim xMtRequest As MeetingItem
Dim xAppointmentItem As AppointmentItem
Dim xMtResponse As MeetingItem
If Item.Class = olMeetingRequest Then
Set xMtRequest = Item
Set xAppointmentItem = xMtRequest.GetAssociatedAppointment(True)
If xAppointmentItem.GetOrganizer.Name = "Sender Name" Then
With xAppointmentItem
.ReminderMinutesBeforeStart = 45
.Categories = "Orange Category"
.Save
End With
Set xMtResponse = xAppointmentItem.Respond(olMeetingAccepted, True)
xMtResponse.Send
xMtRequest.Delete
End If
End If
End Sub
保存代码
按Alt+Q关闭 Microsoft Visual Basic
重新启动 Outlook。
olMeetingAccepted
通过替换,可以使用相同的 VBA 宏来表示拒绝
olMeetingDeclined
。