2012-11-09 67 views
1

我有基於某個開始日期爲6周內的各種客戶安排iCal事件。即客戶端1,2和3在下一個星期一開始,並且我有幾個設置了6周時間的iCal事件,這將觸發其他不同的AppleScript等。(這很好,但是...)AppleScript將特定的iCal事件移動一週

如果客戶端2決定要比1和3晚1周進行該計劃,並且我已經安排了他的活動,如何在iCal for Client 2中選擇已創建的活動並將它們全部移動一週?

這裏就是我有迄今:

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

這將選擇的事件,現在我怎麼動他們都達一週(它們都具有不同的起始日期顯然並不平等隔開)

這會讓我的生活更輕鬆!謝謝。

回答

1

更新:

約塞米蒂用戶現在可以reference selected Calendar events in 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 
+0

謝謝,它工作(大部分)。以下是發生的情況: 活動的開始日期已移至7天,但其新的結束日期距離新的開始日期爲7天。即事件現在已經過去7天了。 如果我刪除行: '設置它的結束日期爲(它的結束日期)+ daysAdded *天' 然後,事件會繼續,但新的結束日期現在與新的開始日期相同。 – coachpienaar

+0

您是否需要手動設置結束日期? 「將開始日期設置爲開始日期+ daysAdded * days」應執行 – 2012-11-11 12:10:54

+0

@ user1812282這項工作。好點子。更改命令的順序應該可以解決問題。看我編輯的版本。 – adayzdone

相關問題