繰り返し予定を判定する— isRecurringEvent()
今回のメソッドは、予定が繰り返し予定かどうかを判定するisRecurringEvent()メソッドをご紹介します。このメソッドを利用することで、繰り返し予定かそうでないのかをプログラムで簡単に判定することができます。
Google Apps Scriptでは、予定が繰り返し予定かそうでないのかをプログラム的に判断するためのメソッドが用意されています。それが、今回ご紹介するisRecurringEvent()メソッドになります。
このメソッドを利用すれば、繰り返し予定であれば、『true』、そうでなければ『false』が返されます。プログラム処理をする際は、期間やキーワードで一度に複数のイベントを取得して処理を行うことが高速化には必要なことですが、その際の処理の条件分岐などに今回のメソッドは活用できるかと思います。繰り返し予定に対してのみ処理を実行することや、繰り返さない予定に対してのみ処理を行うなどが利用シーンとして考えられます。
それでは、具体的なサンプルコードで説明をします。
『 引数に入れる値 』
今回のメソッドに関しては引数は必要ありません。
isRecurringEvent()
//繰り返し予定を判定するコード function sampleCodeForCalendarAppIsRecurringEvent() { var calendar = CalendarApp.getDefaultCalendar(); var date = new Date(); var events = calendar.getEventsForDay(date); for (var i in events) { var event = events[i]; console.log(event.isRecurringEvent()); } }
『 変数の説明 』
calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日の予定を取得
event = 個々予定を取得
スクリプトができたら▶ボタンでプログラムを実行してみましょう。今回のコードではプログラム実行日の予定のオーナーが自分かどうかを判定して真偽値をログに表示するコードを書いてみました。私の環境では、2つの予定を作成しました。
1つは繰り返し予定として設定し、もう1つは通常の予定として作成しています。
下記のスクリーンショットを確認すると、『true』と『false』が出力されていることが確認できます。
上記サンプルコードをコピペしてもらい、プログラムの実行が終了したらCtrl + Enterを打鍵してログを確認してみましょう。自分がオーナーかどうかの結果がログに出力されていればプログラムは問題なく動作しています。
まとめ
今回は予定が繰り返し予定かどうかを判定するisRecurringEvent()メソッドのご紹介をしました。今回で予定が繰り返すのかそうでないのかをプログラム的に判定できるようになりましたので、今回のメソッドを活用して処理作ってみましょう。