1

我根据某个开始日期在 6 周内为各种客户安排了 iCal 活动。即客户端 1,2 和 3 在下周一开始,我在 6 周内设置了几个 iCal 事件,这些事件将触发其他不同的 AppleScript 等。(效果很好,但是......)

如果客户 2 决定比 1 和 3 晚 1 周参加该计划,并且我已经安排了他的活动,我如何在 iCal 中为客户 2 选择已经创建的活动并将它们全部上移一周?

这是我到目前为止所得到的:

tell application "Calendar"
tell calendar "ExampleCalendar"
set theEventList to every event whose summary contains "Client2"
end tell
end tell

这将选择事件,现在我如何将它们全部向上移动一周(它们显然都有不同的开始日期并且间隔不等)

这将使我的生活更轻松!谢谢你。

4

1 回答 1

1

更新:

Yosemite 用户现在可以在 AppleScript 中引用选定的日历事件

尝试:

set daysAdded to 7

tell application "iCal"
    tell calendar "ExampleCalendar"
        set theEventList to every event whose summary contains "Client2"
        repeat with anEvent in theEventList
            tell anEvent
                set it's end date to (it's end date) + daysAdded * days
                set it's start date to (it's start date) + daysAdded * days
            end tell
        end repeat
    end tell
end tell

这是另一种方法。

        tell anEvent
            set {sDate, eDate} to {(it's start date), (it's end date)}
            set it's start date to sDate + daysAdded * days
            set it's end date to eDate + daysAdded * days
        end tell
于 2012-11-09T14:13:50.817 回答