初心者でもわかるGoogle Apps Script活用のススメ

【GAS】CalendarAppで繰り返し予定のルールを作るnewRecurrenceメソッド

繰り返し予定のルールを定義する — newRecurrence

繰り返しの予定を作成するときに繰り返しルールの定義をする必要があるのですが、今回は定義するためのコードをご紹介します。意外と複雑そうにみえるので、皆様の参考になればと思っています。

それでは、説明を始めます。

  1. newRecurrence()

newRecurrence()

サンプルコード1
//繰り返し予定を定義して予定をコード
function sampleCode1() {
  var today = new Date();
  var year = today.getFullYear() + 1;
  var month = today.getMonth() + 1;
  var date = today.getDate();
  var yearLater = new Date(year + "/" + month + "/" + date);
  var recurrence = CalendarApp.newRecurrence()
                              .addWeeklyRule()
                              .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                              .until(yearLater);
  CalendarApp.getDefaultCalendar()
             .createAllDayEventSeries('GAS Event', today, recurrence);
}

『 変数の説明 』

today = プログラムを実行した日付オブジェクトを代入
year = 実行日の1年後の西暦を代入
month = 実行日の月を代入
date = 実行日の日にちを代入
yearLater = 実行日の1年後の日付オブジェクトを代入
recurrence = 繰り返し予定のルールを代入(毎週水曜日に繰り返すルールを定義)

スクリプトをコピーして▶ボタンでプログラムを実行してみましょう。実行が終了したらカレンダーページを更新してみて下さい。実行日当日から始まる繰り返し予定が作成されていると思います。毎週水曜日に『GAS Event』という終日予定が1年後まで繰り返されていることが確認できるでしょうか?
繰り返し予定のルールはrecurrenceという変数の部分で定義しています。今回は、addWeeklyRule()で週間予定を定義し、onlyOnWeekday()で水曜日を指定しました。until()で繰り返し予定の終了日を設定しています。
newRecurrence()メソッドには続けてRecurrenceRuleクラスとEventRecurrenceクラスのメソッドを続け記載します。

下記に利用できるメソッドをご紹介します。メソッドチェーンで複数のメソッドを一括で指定することができます。

RecurrenceRuleクラスのメソッド

EventRecurrenceクラスのメソッド

まとめ

今回は繰り返し予定を定義するためのコードをご紹介しました。他のクラスと使う必要があるので、少しわかりづらかったかもしれませんが、わからなくなったらこちらのページとEventRecurrenceクラス/RecurrenceRuleクラスのページを参照してコードを組んでみて下さい。

すべてのサンプルコードはコピーしてスクリプトエディタに貼り付けることでそのまま利用が可能です。

Exit mobile version