Mat*_*ard 6 microsoft-outlook calendar microsoft-outlook-2013
有没有办法在 Outlook 中自动拒绝或接受来自特定发件人的会议请求?
我知道我可以创建一个规则,将包含会议请求的邮件从某个发件人移动到某个文件夹,或者删除它们,但请求的会议仍然显示在我的日历上。我想自动拒绝某些人的请求,这样他们就不会出现在我的日历上。
在“选项”>“日历”中,我看到“自动接受/拒绝”选项,但这些选项似乎适用于所有请求,而不仅仅是来自特定发件人的请求。
我正在使用 Outlook 2013,它是 MS Office Professional Plus 2013 的一部分。
我在此处看到了有关此主题的其他问题,但答案并未解决我的担忧,即所请求的会议仍会显示在我的日历上。我无法对这些问题发表评论,因为我还没有足够的声誉。
可以通过删除规则来拒绝,方法是在“选择条件”对话框中指定“会议邀请或更新”选项。
有关使用答案模板拒绝的详细教程(包含屏幕截图),请参阅文章 如何自动拒绝 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
Run Code Online (Sandbox Code Playgroud)
保存代码
按Alt+Q关闭 Microsoft Visual Basic
重新启动 Outlook。
olMeetingAccepted通过替换为,可以使用相同的 VBA 宏来拒绝
olMeetingDeclined。
| 归档时间: |
|
| 查看次数: |
7766 次 |
| 最近记录: |