从系列中删除异常 [英] Remove Exceptions from a Series
问题描述
我在 Outlook 中有一个系列,但有一些例外.我想做的是从这个系列中删除所有例外.有谁知道是否有办法做到这一点?由于异常列表是只读的,我尝试清除重复模式并重新应用所有值,而不是像这样的异常列表:
I have a series in Outlook with a few exceptions. What I would like to do is remove all exceptions from this series. Does anyone know if there is a way to do this? Since the exceptions list is read-only I have tried clearing the recurrence pattern and re-applying all of the values sans the exceptions list like this:
Dim tRType As OlRecurrenceType
Dim tRPSD As Date
Dim tRPED As Date
Dim tST As Date
Dim tET As Date
Dim tOcc As Integer
Dim tInterval As Integer
tRType = oAppointmentItem.GetRecurrencePattern.RecurrenceType
tRPSD = oAppointmentItem.GetRecurrencePattern.PatternStartDate
tRPED = oAppointmentItem.GetRecurrencePattern.PatternEndDate
tST = oAppointmentItem.GetRecurrencePattern.startTime
tET = oAppointmentItem.GetRecurrencePattern.endTime
tOcc = oAppointmentItem.GetRecurrencePattern.Occurrences
tInterval = oAppointmentItem.GetRecurrencePattern.Interval
oAppointmentItem.ClearRecurrencePattern
' This save throws an error.
'oAppointmentItem.Save
' Make this call to flip to reccurring...
oAppointmentItem.GetRecurrencePattern
oAppointmentItem.GetRecurrencePattern.RecurrenceType = tRType
oAppointmentItem.GetRecurrencePattern.PatternStartDate = tRPSD
oAppointmentItem.GetRecurrencePattern.PatternEndDate = tRPED
oAppointmentItem.GetRecurrencePattern.startTime = tST
oAppointmentItem.GetRecurrencePattern.endTime = tET
oAppointmentItem.GetRecurrencePattern.Occurrences = tOcc
oAppointmentItem.GetRecurrencePattern.Interval = tInterval
到目前为止,我对这种方法并不走运.一旦调用 ClearRecurrencePattern,所有数据都无法更新(或者无论如何都不会持久化),这就是为什么我尝试了 Save 但是,它不起作用.必须有更好的方法,而我只是想念它.
Thus far I am having no luck with this approach. Once calling ClearRecurrencePattern all of the data cannot be updated (or will not persist anyways), which is why I tried the Save but, it does not work. There has to be a better way and I am just missing it.
我也想过制作约会项目的完整副本,然后删除/重新添加,但是,如果可能的话,我想避免这种情况.
I've also thought of doing a full copy of the appointment item and then delete/re-add but, I would like to avoid that if at all possible.
推荐答案
我找到了答案,并将在此处发布,以防有人需要.您可以修改模式结束时间(我假设开始时间)以使其清除例外列表.下面的代码会导致从系列中删除所有异常.
I found the answer and will post it here in case anyone needs it. You can modify the patternendtime (and I am assuming start time) to cause it to clear the exceptions list. The code below causes all exceptions to be removed from the series.
Dim tEndDate As Date
Dim currentEndDate As Date
Dim dateInterval As Double
currentEndDate = oAppointmentItem.GetRecurrencePattern.PatternEndDate
tEndDate = oAppointmentItem.GetRecurrencePattern.PatternEndDate
' Add a year to the end date so we can force the exceptions to remove.
DateAdd "yyyy", 1, tEndDate
oAppointmentItem.GetRecurrencePattern.PatternEndDate = tEndDate
oAppointmentItem.GetRecurrencePattern.PatternEndDate = currentEndDate
这篇关于从系列中删除异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!