1

特定の開始日に基づいて、6週間にわたってさまざまなクライアント向けにiCalイベントをスケジュールしています。つまり、クライアント1、2、および3は次の月曜日に開始し、6週間にわたっていくつかのiCalイベントを設定して、他のさまざまなAppleScriptなどをトリガーします(これは正常に機能しますが...)

クライアント2が1と3より1週間遅れてプログラムに参加することを決定し、私がすでに彼のイベントをスケジュールしている場合、クライアント2のiCalで作成済みのイベントを選択し、それらをすべて1週間上に移動するにはどうすればよいですか?

これが私がこれまでに得たものです:

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

これでイベントが選択されます。次に、すべてを1週間上に移動するにはどうすればよいですか(開始日は明らかに異なり、間隔が不均等です)

これは私の人生をはるかに楽にするでしょう!ありがとうございました。

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 に答える