如何在 Outlook 中自动拒绝或接受来自特定发件人的会议请求?

如何在 Outlook 中自动拒绝或接受来自特定发件人的会议请求?

有没有办法在 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 xAppointmentItemEnd 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

相关内容