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

【コピペで使える】GASでカレンダーに繰返しの終日予定を作成してみる

このページでは、繰り返しの終日予定を作成するcreateAllDayEventSeries()の使い方を紹介します。

Googleが提供しているGASに関する公式リファレンスはとても詳しく書いてあるのですが、英語のみの提供のためハードルが高く感じる人も少なくないと思います。そのハードルを少しでも低くし、より多くの人にGoogle Apps Scriptを使えるようになってもらいたいという思いから日本語のリファレンスページを用意しました。

繰り返しの終日予定を作成するメソッド — createAllDayEventSeries

コピペで使えるサンプルコードを参照したい方はこちらをクリックすればサンプルコードまでジャンプできますので、手っ取り早くコードを確認したい方はクリックしてください。

今回は、GASを使ってカレンダーに繰り返しの終日予定を作成する方法を教えていきたいと思います。今回は、繰り返しのルールを設定する必要があるため、本投稿と合わせて下記の記事も見ていただいたほうがいいかと思います。

【GAS】CalendarAppで繰り返し予定のルールを作るnewRecurrenceメソッド
【GAS】CalendarAppのRecurrenceRuleクラスのメソッドを解説
【GAS】CalendarAppのEventRecurrenceクラスのメソッドを解説

上記のメソッドで、繰返し予定のルールを作成して、予定作成時にルールを適用する形で繰り返し予定を作成することができます。

それでは、早速コードの具体的な説明に入ります。

  1. createAllDayEventSeries(title, startDate, recurrence)
  2. createAllDayEventSeries(title, startDate, recurrence, options)

『 引数に入れる値 』

『 関連するメソッド 』

合わせて覚えたいカレンダー予定の操作に関するメソッド

createAllDayEventSeries(title, startDate, recurrence)サンプルコード

繰り返しの終日予定を作成する基本的なコードから紹介します。

繰り返しの終日予定を作成するサンプルコード ①
//デフォルトカレンダーにtitleに代入した予定タイトルでstartDateに指定した日付から繰り返しの終日予定を作成するコード
function sampleCodeForCreateAllDayEventSeries1() {
  let calendar = CalendarApp.getDefaultCalendar();
  let title = "予定のタイトル";
  let startDate = new Date();
  let endDate = new Date();
  endDate = new Date(endDate.setMonth(endDate.getMonth() + 1));
  let recurrence = CalendarApp.newRecurrence()
                              .addWeeklyRule()
                              .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                              .until(endDate);
  calendar.createAllDayEventSeries(title, startDate, recurrence);
}

『 変数の説明 』

calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
startDate = 繰り返し予定の開始日を指定
recurrence = 繰り返しルールを指定
※サンプルコードでは、繰り返しルールをプログラム実行日から1ヶ月後の日付までの水曜日に毎週繰り返すという繰り返しルールを適用して予定を作成しています。

デフォルトカレンダーに繰り返しの終日予定を作成するサンプルコード 』に上記サンプルスクリプトを記載したスクリプトがあります。
スクリプトを実行するとGoogleカレンダーにタイトルに指定した予定名でプログラム実行日から1ヶ月までの毎週水曜日に予定が作成されます。

createAllDayEventSeries(title, startDate, recurrence, options)サンプルコード

オプションのパラメーターを設定して繰り返しの終日予定を作成するコードを紹介します。

繰り返しの終日予定を作成するサンプルコード ②
//デフォルトカレンダーにtitleに代入した予定タイトルでstartDateに指定した日付から繰り返しの終日予定を作成するコード
function sampleCodeForCreateAllDayEventSeries2() {
  let guests = ["guestAddress1", "guestAddress2", "guestAddress3"];//実際の使用時はゲストアドレスを変更してください。
  let calendar = CalendarApp.getDefaultCalendar();
  let title = "予定のタイトル";
  let startDate = new Date();
  let endDate = new Date();
  let recurrence = CalendarApp.newRecurrence()
                              .addWeeklyRule()
                              .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                              .until(endDate);
  let options = {
    description: "友達と待ち合わせ",
    location: "新宿駅東口",
    guests: guests.join(), 
    sendInvites: true
  }
  calendar.createAllDayEventSeries(title, startDate, recurrence, options);
}

『 変数の説明 』

calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
startDate = 繰り返し予定の開始日を指定
recurrence = 繰り返しルールを指定
options = 細かい内容を指定して予定を作成できます。

こちらも、『 デフォルトカレンダーに繰り返しの終日予定を作成するサンプルコード 』にスクリプトを用意してあります。
開始日と終了日は先程と同じですが、オプション設定を適用させるようにしてありますので、予定の詳細情報、場所、ゲストを招待した形で繰り返し予定を作成します。オプションは必要なものをオブジェクト形式に格納して引数として渡しますが、必要のないものはコメントアウトか対象の行を削除してください。

まとめ

createAllDayEventSeries()の解説はいかがでしたでしょうか?

英語ではハードルが高いと思っていたことも日本語で読むとそれほど難しくないですよね。今回のメソッドは繰り返しルールの作成が必要となりますので、合わせて覚える必要はありますが、身につけてしまえば処理の幅が広がりますね。

Exit mobile version