Sample Header Ad - 728x90

AppleScript - Find Recurring events within date range

0 votes
1 answer
101 views
I am trying to make a mirror of one calendar into another for the a set period of time (say 1 week). However when I run the script below it only copies non-recurring events. Any pointers on how to fix this is much appreciated use AppleScript version "2.4" -- Yosemite (10.10) or later use scripting additions set SourceCalendarName to "VV Main" set DestinationCalendarName to "VV Mirror" set meetingProxy to "VV Meeting" set today to current date set numberofdays to 7 set startDay to ((current date) - (1 * days)) set time of startDay to 0 set endDay to ((startDay) + (numberofdays * days)) --set time of endDay to set numberOfEventsAdded to 0 tell application "Calendar" set sourceCalendar to calendar SourceCalendarName set destinationCalendar to calendar DestinationCalendarName (* tell destinationCalendar delete (events) end tell *) set sourceEventList to (events of sourceCalendar where (its start date > startDay) and (its start date < endDay)) repeat with eventIdx from 1 to length of sourceEventList set newEvent to item eventIdx of sourceEventList --repeat with newEvent in (get events of sourceCalendar whose (start date is greater than startDay) and (start date is less than endDay)) set existingEventList to (events of destinationCalendar) set eventExists to false if length of existingEventList is not 0 then repeat with checkEvent in existingEventList if ((start date of checkEvent = start date of newEvent) and (end date of checkEvent = end date of newEvent)) then set eventExists to true exit repeat end if end repeat end if if eventExists is false then tell destinationCalendar set destEvent to (make new event at end of events with properties {start date:start date of newEvent, end date:end date of newEvent, summary:meetingProxy, allday event:allday event of newEvent, description:(uid of newEvent as text)}) if recurrence of destEvent is not missing value then set recurrence of destEvent to recurrence of newEvent end if end tell end if --set numberOfEventsAdded to (numberOfEventsAdded + 1) end repeat end tell
Asked by Vinny (416 rep)
Aug 11, 2024, 11:15 PM
Last activity: May 12, 2025, 06:07 PM