このページでは、終日予定を作成するcreateAllDayEvent()の使い方を紹介します。
Googleが提供しているGASに関する公式リファレンスはとても詳しく書いてあるのですが、英語のみの提供のためハードルが高く感じる人も少なくないと思います。そのハードルを少しでも低くし、より多くの人にGoogle Apps Scriptを使えるようになってもらいたいという思いから日本語のリファレンスページを用意しました。
終日予定を作成するメソッド — createAllDayEvent
コピペで使えるサンプルコードを参照したい方はこちらをクリックすればサンプルコードまでジャンプできますので、手っ取り早くコードを確認したい方はクリックしてください。
今回は、GASを使ってカレンダーに終日予定を作成する方法を紹介します。引数によって使い方は4つありますが、createEventなどと使い方は似ていますので、それほどわかりづらくはないかと思います。
- createAllDayEvent(title, date)
- createAllDayEvent(title, startDate, endDate)
- createAllDayEvent(title, startDate, endDate, options)
- createAllDayEvent(title, date, options)
このメソッドを利用するとGoogleカレンダーに終日予定を作成することができます。
『 引数に入れる値 』
- title(予定のタイトル) — ダブルクォーテーションで囲んだ文字列
- date(予定日) — 日付オブジェクト
- startDate(予定開始日) — 日付オブジェクト
- endDate(予定終了日) — 日付オブジェクト
- options(詳細オプション) — JSONオブジェクト
- description — 予定の説明 (文字列)
- location — 予定の場所 (文字列)
- guests — ゲストのアドレス(文字列:ゲストを複数招待する場合には、カンマで区切る)
- sendInvites — true / false
『 関連するメソッド 』
合わせて覚えたいカレンダー予定の操作に関するメソッド
- createEvent — 予定を作成する
- createEventSeries — 繰り返し予定を作成する
- createAllDayEventSeries — 繰り返しの終日予定を作成する
- deleteEvent — 予定を削除する
- deleteEventSeries — 予定を削除する
createAllDayEvent(title, date)サンプルコード
まずは終日予定を作成するメソッドのなかで一番基本的なパターンを紹介します。
予定タイトルと予定日のみ指定するシンプルなコードで終日予定が作成できます。
//デフォルトカレンダーにtitleに代入した予定タイトルでdateに指定した日付に終日予定を作成するコード function sampleCodeForCreateAllDayEvent1() { let calendar = CalendarApp.getDefaultCalendar(); let title = "予定のタイトル"; let date = new Date(); calendar.createAllDayEvent(title, date); }
『 変数の説明 』
calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
date = 日付オブジェクトで予定日を指定
※サンプルコードでは、new Date()としてプログラム実行日を取得しています。
もし日付を指定したい場合には、new Date(“yyyy/MM/dd”)というような形で指定できます。
『 デフォルトカレンダーに終日予定を作成するサンプルコード 』に上記サンプルスクリプトを記載したスクリプトがあります。記載されているコードを実行すればそのまま自分のデフォルトカレンダーに予定が作られ、動作を確認できますので、一度試してみてください。
以下で紹介するサンプルコード②〜④についても、同じファイルの中に入っています。
createAllDayEvent(title, startDate, endDate)サンプルコード
次に、数日にまたがる終日予定を作成する方法を紹介します。
//デフォルトカレンダーにtitleに代入した予定タイトルでstartDateからendDateに指定した日付までの複数日にまたがる終日予定を作成するコード function sampleCodeForCreateAllDayEvent2() { let calendar = CalendarApp.getDefaultCalendar(); let title = "予定のタイトル"; let startDate = new Date(); let endDate = new Date(); endDate = new Date(endDate.setDate(endDate.getDate() + 2)); calendar.createAllDayEvent(title, startDate, endDate); }
『 変数の説明 』
calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
startDate = 日付オブジェクトで予定開始日を指定
endDate = 日付オブジェクトを予定終了日を指定
複数日の終日予定の設定時には、終了日の日付設定方法に少し注意が必要になります。例えば、プログラム実行日に開始日を設定して、その2日後まで予定を伸ばしたいようなケースです。
上記のサンプルコードでも似たようなことをやっていますが、終了日を実行日の2日後と設定してもどうもうまくいきません。
上記のサンプルコードを実行すると、実行日当日とその次の日にまたがる予定が出来上がります。本来であれば2日後まで伸ばしたいと思っているのに次の日までしか伸びません。
これは、実行日から1日目とカウントされているためで、2日後まで伸ばしたいのであれば、コード上では3日後を設定しなくてはなりません。この点に注意してコードをお使い頂ければと思います。
createAllDayEvent(title, startDate, endDate, options)サンプルコード
詳細をプログラムで設定して数日にまたがる終日予定を作成する方法を紹介します。
//オプション設定で細かい内容まで設定した複数日にまたがる終日予定作成コード function sampleCodeForCreateAllDayEvent3() { let guests = ["guestAddress1", "guestAddress2", "guestAddress3"];//実際の使用時はゲストアドレスを変更してください。 let calendar = CalendarApp.getDefaultCalendar(); let title = "予定のタイトル"; let startDate = new Date(); let endDate = new Date(); endDate = new Date(endDate.setDate(endDate.getDate() + 2)); let options = { description: "友達と待ち合わせ", location: "新宿駅東口", guests: guests.join(), sendInvites: true } calendar.createAllDayEvent(title, startDate, endDate, options); }
『 変数の説明 』
calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
startDate = 日付オブジェクトを予定開始日を指定
endDate = 日付オブジェクトを予定終了日を指定
options = 細かい内容を指定して予定を作成できます。
オプションは必要なものをオブジェクト形式に格納して引数として渡します。
必要のない内容は行を削除して使用することができます。
※ゲストの招待は正式なメールアドレスでないと実行できないため、リンクのスクリプトファイルでは該当部分をコメントアウトしています。
createAllDayEvent(title, date, options)サンプルコード
詳細をプログラムで設定して終日予定を作成する方法を紹介します。
//オプション設定で細かい内容まで設定した単日終日予定作成コード function sampleCodeForCreateAllDayEvent4() { let guests = ["guestAddress1", "guestAddress2", "guestAddress3"];//実際の使用時はゲストアドレスを変更してください。 let calendar = CalendarApp.getDefaultCalendar(); let title = "予定のタイトル"; let date = new Date(); let options = { description: "友達と待ち合わせ", location: "新宿駅東口",, guests: guests.join(), sendInvites: true } calendar.createAllDayEvent(title, date, options); }
『 変数の説明 』
calendar = アカウントのデフォルトカレンダーを取得
title = 予定タイトルに設定される文字列をダブルクォーテーションで代入
startDate = 日付オブジェクトを予定開始日を指定
endDate = 日付オブジェクトを予定終了日を指定
options = 細かい内容を指定して予定を作成できます。
オプションは必要なものをオブジェクト形式に格納して引数として渡します。
必要のない内容は行を削除して使用することができます。
※ゲストの招待は正式なメールアドレスでないと実行できないため、リンクのスクリプトファイルでは該当部分をコメントアウトしています。