如果您正在按颜色分类Outlook会议,并且想为不同颜色分类的会议设置不同的提醒时间,您可以参考这篇文章。 下面教大家用Outlook VBA实现。
例如,您将会议分为两组。一组归为“异地”类别,因为会议地点较远;另一组归为“本地”类别,因为会议地点就在附近。现在,您希望 Outlook 能自动将“异地”会议的提醒时间设置为开始前 1 小时,“本地”会议的提醒时间设置为开始前 15 分钟。针对这一需求,我们将在下文中分享一种快速方法。

自动为不同颜色类别的会议设置不同的提醒
- 首先,启动您的 Outlook 应用程序。
- 然后,按“Alt + F11”键按钮访问 VBA 编辑器窗口。
- 接下来,在随后的窗口中,将下面的 VBA 代码复制并粘贴到“ThisOutlookSession”项目中。
Public WithEvents objCalendar As Outlook.Folder
Public WithEvents objCalendarItems As Outlook.Items
Private Sub Application_Startup()
Set objCalendar = Outlook.Application.Session.GetDefaultFolder(olFolderCalendar)
Set objCalendarItems = objCalendar.Items
End Sub
Private Sub objCalendarItems_ItemAdd(ByVal Item As Object)
Call SetReminder_BasedOnCategories(Item)
End Sub
Private Sub objCalendarItems_ItemChange(ByVal Item As Object)
Call SetReminder_BasedOnCategories(Item)
End Sub
Private Sub SetReminder_BasedOnCategories(ByVal objCalendarItem As Object)
Dim objMeeting As Outlook.AppointmentItem
Dim strCategories As String
If objCalendarItem.Class = olAppointment Then
'Check if the item is a meeting
If objCalendarItem.MeetingStatus = olMeeting Then
Set objMeeting = objCalendarItem
strCategories = objMeeting.Categories
'Set Reminder as 60 min before start for offsite appointments
If InStr(strCategories, "Offsite") > 0 Then
With objMeeting
.ReminderSet = True
.ReminderMinutesBeforeStart = 60
.Save
End With
'Set Reminder as 15 min before start for onsite appointments
ElseIf InStr(strCategories, "Onsite") > 0 Then
With objMeeting
.ReminderSet = True
.ReminderMinutesBeforeStart = 15
.Save
End With
End If
End If
End If
End Sub
- 之后,您需要点击进入“Application_Startup”子程序,然后按“F5”键来运行此宏。
- 此后,每次将新会议添加到默认日历或更改现有会议时,Outlook 都会自动检查会议类别并自动设置不同的提醒时间。
消除 Outlook 错误
Outlook 可能会不时出现各种问题。因此,用户学习如何应对 Outlook 问题至关重要。首先,最好定期备份 Outlook 数据。此外,如果经济条件允许,建议保留一个功能强大的备份文件。 Outlook修复 附近的工具,例如 DataNumen Outlook Repair. 它可以扫描您的 PST 文件以找出 Outlook 问题,然后轻松解决它们。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

