Archive for the 'Calendar Lib' Category

2016/11/18 ライブラリを使って指定カレンダー(iCloud)の指定日のイベントを削除する

Shane StanleyのAppleScriptライブラリ「Calendar Lib」を利用して、EventKit経由で指定カレンダーの指定日時のイベントを削除するAppleScriptです。

構文確認(コンパイル)および実行のためには、Shane Stanleyの「CalendarLib」を~/Library/Script Librariesフォルダにインストールしておくことが必要です(作成時にはバージョン1.1.2を使用)。

昨日のCalendar.appを操作するScriptがあまりに実用的でなかったため、ライブラリを使ってOSのAPIを直接呼んでみることにしました。あらかじめ、できることはわかっていたものの、ドキュメント中に削除のサンプルが存在しておらず、ライブラリ内を調査してイベントの削除方法をみつけました。

本Script実行時にCalendar.appを起動していると、実行後3秒程度でCalendar.appの画面側でもイベントが削除されたことが確認できました。

Calendar Libではカレンダー種別を cal local/ cal cloud/ cal exchange/ cal subscriptionと明示的に指定できるため、Calendar.appを直接操作するよりも(はるかに)便利です。

AppleScript名:ライブラリを使って指定カレンダー(iCloud)の指定日のイベントを削除する
– Created 2016-11-18 17 by Takaaki Naganoya
– 2016 Piyomaru Software
use AppleScript version “2.5″
use scripting additions
use framework “Foundation”
use calLib : script “CalendarLib EC”
–http://piyocast.com/as/archives/4322

set sDat to “2016/11/21 0:00:00″
set eDat to “2016/11/22 0:00:00″
set sDatO to date sDat
set eDatO to date eDat

set theStore to fetch store
set theCal to fetch calendar “ぴよまるソフトウェア” cal type cal cloud event store theStore – change to suit

set theEvents to fetch events starting date sDatO ending date eDatO searching cals {theCal} event store theStore

repeat with i in theEvents
  set j to contents of i
  
remove event event j event store theStore without future events
end repeat

★Click Here to Open This Script