このページでは、繰り返しの終日予定を作成するcreateAllDayEventSeries()の使い方を紹介します。
Googleが提供しているGASに関する公式リファレンスはとても詳しく書いてあるのですが、英語のみの提供のためハードルが高く感じる人も少なくないと思います。そのハードルを少しでも低くし、より多くの人にGoogle Apps Scriptを使えるようになってもらいたいという思いから日本語のリファレンスページを用意しました。
繰り返しの終日予定を作成するメソッド — createAllDayEventSeries
コピペで使えるサンプルコードを参照したい方はこちらをクリックすればサンプルコードまでジャンプできますので、手っ取り早くコードを確認したい方はクリックしてください。
今回は、GASを使ってカレンダーに繰り返しの終日予定を作成する方法を教えていきたいと思います。今回は、繰り返しのルールを設定する必要があるため、本投稿と合わせて下記の記事も見ていただいたほうがいいかと思います。
『 【GAS】CalendarAppで繰り返し予定のルールを作るnewRecurrenceメソッド 』
『 【GAS】CalendarAppのRecurrenceRuleクラスのメソッドを解説 』
『 【GAS】CalendarAppのEventRecurrenceクラスのメソッドを解説 』
上記のメソッドで、繰返し予定のルールを作成して、予定作成時にルールを適用する形で繰り返し予定を作成することができます。
それでは、早速コードの具体的な説明に入ります。
- createAllDayEventSeries(title, startDate, recurrence)
- createAllDayEventSeries(title, startDate, recurrence, options)
『 引数に入れる値 』
- title(予定のタイトル) — ダブルクォーテーションで囲んだ文字列
- startDate(予定の開始日) — 日付オブジェクト
- recurrence(繰り返しルール) — EventRecurrence設定
- options(詳細オプション) — JSONオブジェクト
- description — 予定の説明 (文字列)
- location — 予定の場所 (文字列)
- guests — ゲストのアドレス(文字列:ゲストを複数招待する場合には、カンマで区切る)
- sendInvites — true / false
『 関連するメソッド 』
合わせて覚えたいカレンダー予定の操作に関するメソッド
- createEvent — 予定を作成する
- createEventSeries — 繰り返し予定を作成する
- createAllDayEvent — 終日予定を作成する
- deleteEvent — 予定を削除する
- deleteEventSeries — 予定を削除する
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()の解説はいかがでしたでしょうか?
英語ではハードルが高いと思っていたことも日本語で読むとそれほど難しくないですよね。今回のメソッドは繰り返しルールの作成が必要となりますので、合わせて覚える必要はありますが、身につけてしまえば処理の幅が広がりますね。