如何快速删除重复 Outlook 约会的周末提醒

立即分享:

在您的 Outlook 日历中安排定期约会后,如果您想删除周末事件的提醒,您可以使用本文介绍的方法。

您的 Outlook 日历中是否有任何重复约会? 例如,您安排了一个每 4 天发生一次的定期约会。 在这种情况下,此约会的某些事件将发生在周末。 此时,这些周末事件的提醒可能对你没有用。 因此,您想删除他们的提醒。 针对这一需求,这里介绍一种高效便捷的方式。

快速删除重复 Outlook 约会的周末提醒

删除周末重复约会的提醒

  1. 首先,启动 Outlook 应用程序。
  2. 然后,通过“Alt + F11”键转到 Outlook VBA 编辑器。
  3. 接下来,将以下 VBA 代码放入项目或模块中。
Sub RemoveRemindersOfWeekendOccurrencesOfRecurringAppointments()
    Dim objAppointment As Outlook.AppointmentItem
    Dim objCalendar As Outlook.Folder
    Dim objCalendarItems As Outlook.Items
    Dim objRecurrencePattern As RecurrencePattern
    Dim dStartDate, dEndDate As Date
    Dim dCurrentDate, dActualTime As Date
    Dim strFilter As String
    Dim objFoundAppointment As Outlook.AppointmentItem
    Dim objOccurrence As Outlook.AppointmentItem
   
    Set objAppointment = Application.ActiveExplorer.Selection.Item(1)
 
    Set objCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
    Set objCalendarItems = objCalendar.Items
    objCalendarItems.Sort "[Start]", False
    objCalendarItems.IncludeRecurrences = True
 
    Set objRecurrencePattern = objAppointment.GetRecurrencePattern
    dStartDate = Format(objRecurrencePattern.PatternStartDate, "MM/DD/YYYY")
    dEndDate = Format(objRecurrencePattern.PatternEndDate, "MM/DD/YYYY")
   
    dCurrentDate = dStartDate
    Do Until dCurrentDate >= dEndDate
       If Weekday(dCurrentDate) = vbSaturday Or Weekday(dCurrentDate) = vbSunday Then
          dActualTime = dCurrentDate & " " & objRecurrencePattern.StartTime
          dActualTime = Format(dActualTime, "ddddd hh:mm:ss AMPM")
 
          strFilter = "[Start] <= " & Chr(34) & dCurrentDate & " 11:59 PM" & Chr(34) & " AND [End] > " & Chr(34) & dCurrentDate & " 00:00 AM" & Chr(34) & " AND [Subject] = " & Chr(34) & objAppointment.Subject & Chr(34)
          Set objFoundAppointment = objCalendarItems.Find(strFilter)
 
          If Not objFoundAppointment Is Nothing Then
             'Get the occurrence on weekends
             Set objOccurrence = objRecurrencePattern.GetOccurrence(dActualTime)
 
             'Remove the reminders
             With objOccurrence
                 .Subject = "(C)" & objAppointment.Subject
                 .ReminderSet = False
                 .Save
             End With
           End If
       End If
       dCurrentDate = DateAdd("d", 1, dCurrentDate)
    Loop
End Sub

VBA 代码 - 从重复约会的周末事件中删除提醒

  1. 之后,您可以关闭窗口。
  2. 随后,按照文章“如何在 Outlook 中运行 VBA 代码” 将此宏添加到快速访问工具栏。
  3. 最后,现在运行这个宏。
  • 首先,选择一次重复约会。
  • 接下来,单击快速访问工具栏中的宏按钮。在选定的约会上运行宏
  • 宏完成后,将删除安排在周末发生的事件的提醒。 此外,主题将根据代码进行更改,如下面的屏幕截图:删除的提醒

保护 Outlook 免受腐败

与其他常见文件(如 Word 文档、Excel 工作表)一样,Outlook 数据文件也容易受到攻击。 因此,您应该采取一些强有力的预防措施来减少 Outlook 损坏的可能性。 例如,您必须坚持定期进行 PST 数据备份。 此外,为了防止数据丢失,我们应该在附近放置一个 Outlook 修复工具,例如 DataNumen Outlook Repair。 它能够 修复 Outlook 轻松解决问题。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql损坏 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。