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

icon_for_CalendarApp_ createEventSeries
URLをコピーする
URLをコピーしました!

みなさんも定期的に発生する予定を作成する機会は少なくないと思いますが、今回の投稿では繰り返し予定をプログラムで作成するcreateEventSeries()というメソッドを解説します。

ルーチンワークや定期ミーティングなど繰り返し予定を作成する機会はビジネス上ではよくあると思いますが、今回はプログラムで繰り返し予定を作成してみます。使い方は『【コピペで使える】GASでカレンダーに繰返しの終日予定を作成してみる』で紹介したcreateAllDayEventSeries()というメソッドと似たような形ですので、それほど難しいメソッドではありません。

目次

繰り返し予定を作成するメソッド — createEventSeries

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

それでは解説を始めます。このメソッドは2つ種類があります。

  1. createAllDayEventSeries(title, startTime, endTime, recurrence)
  2. createAllDayEventSeries(title, startTime, endTime, recurrence, options)

『 引数に入れる値 』

  • title(予定のタイトル) — ダブルクォーテーションで囲んだ文字列
  • startTime(予定の開始時間) — 日付オブジェクト
  • endTime(予定の終了時間) — 日付オブジェクト
  • recurrence(繰り返しルール) — EventRecurrence設定
  • options(詳細設定) — JSONオブジェク
    • description — 予定の説明 (文字列)
    • location — 予定の場所 (文字列)
    • guests — ゲストのアドレス(文字列:ゲストを複数招待する場合には、カンマで区切る)
    • sendInvites — true / false

『 関連するメソッド 』

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

createEventSeries(title, startTime, endTime, recurrence)サンプルコード

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

繰り返し予定を作成するサンプルコード ①
//デフォルトカレンダーにtitleに代入した予定タイトルでstartTimeからendTimeまでの時間に繰り返しの予定を作成するコード 
function sampleCodeForCreateEventSeries1() {
  let calendar = CalendarApp.getDefaultCalendar();
  let title = "繰り返し予定タイトル";
  let startTime = new Date();
  let endTime = new Date();
  new Date(endTime.setHours(endTime.getHours() + 2));
  let untilDate = new Date();
  new Date(untilDate.setMonth(untilDate.getMonth() + 1));
  let recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY).until(new Date(untilDate));
  calendar.createEventSeries(title, startTime, endTime, recurrence);
}

『 変数の説明 』

calendar = アカウントのデフォルトカレンダーを取得
title = 予定のタイトルを文字列で指定
startTime = 繰り返し予定の開始日時を指定
endTime = 繰り返し予定の終了日時を指定
recurrence = 繰り返しルールを指定

createEventSeries実行結果①

デフォルトカレンダーに繰り返し予定を作成するサンプルコード 』に上記サンプルスクリプトを記載したスクリプトがあります。
スクリプトを実行すると、Googleカレンダーにタイトルに指定した予定名で実行時から2時間の予定が作成され、それ以降は1ヶ月後までの期間で毎週水曜日の同時間帯の水曜日に繰り返し予定が作成されます。

createEventSeries(title, startTime, endTime, recurrence, options)サンプルコード

更に細かい情報を設定をして繰り返し予定を作成するコードです。

繰り返し予定を作成するサンプルコード ②
//デフォルトカレンダーにtitleに代入した予定タイトルでstartTimeからendTimeまでの時間に繰り返しの予定を作成するコード 
function sampleCodeForCreateEventSeries2() {
  let calendar = CalendarApp.getDefaultCalendar();
  let title = "繰り返し予定タイトル";
  let startTime = new Date();
  let endTime = new Date();
  new Date(endTime.setHours(endTime.getHours() + 2));
  let untilDate = new Date();
  new Date(untilDate.setMonth(untilDate.getMonth() + 1));
  let recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY).until(new Date(untilDate));
  let options = {
    description: "定例ミーティング",
    location: "会議室①"
  }
  calendar.createEventSeries(title, startTime, endTime, recurrence, options);
}

『 変数の説明 』

calendar = アカウントのデフォルトカレンダーを取得
title = 予定のタイトルを文字列で指定
startTime = 繰り返し予定の開始日時を指定
endTime = 繰り返し予定の終了日時を指定
recurrence = 繰り返しルールを指定
options = 細かい内容を指定して予定を作成できます。今回の例では、場所と予定詳細を指定してあります。

createEventSeries実行結果②

スクリプトを実行すると、上図のように場所に会議室①、予定詳細に定例ミーティングと設定された繰り返し予定が作成されます。

まとめ

使い方はほとんどcreateAllDayEventSeries()とほとんど変わりませんでしたね。慣れてしまうと予定の作成方法はどのメソッドでもあまり変わらないことがおわかり頂けるかと思います。一度作り方を覚えてしまえば自分の作成したい予定をプログラムでどんどん作成できそうですね。

実際の使用はGoogleフォームで選択した日にちを取得してカレンダーに予定を作成したり、スプレッドシートに入れた日付データを一括でカレンダーに登録したりなど、違うGoogleサービスから日付を取得して予定作成を自動化したりといった使い方が実際の使用用途になるかと思います。

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

icon_for_CalendarApp_ createEventSeries

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初心者でもわかるGoogle Apps Script活用のススメの管理人。
業務でラクをするという邪な目的のためにプログラムを独学で勉強し始め、初心者向けのGoogle Apps Scriptの使い方サイトを運営するに至る。
ラクをするためにはどんな苦労も厭わないという考えから、手っ取り早くスキルアップするためにCrowdWorksやLancersなどで仕事を受注し始め、過去にはTopClass PRO Crowd workerに認定された経験を持つ。
現在では、業務効率化システムの開発を行う会社の代表を務める。

コメント

コメントする

目次
トップへ
目次
閉じる