【GAS】繰り返し予定を作成する2つのメソッドを完全マスター

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
icon_for_CalendarApp_ createEventSeries

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

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

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

それでは解説を始めます。このメソッドは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)

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

サンプルコード1
//デフォルトカレンダーにtitleに代入した予定タイトルでstartTimeからendTimeまでの時間に繰り返しの予定を作成するコード 
function sampleCode1() {
  var calendar = CalendarApp.getDefaultCalendar();
  var title = "繰り返し予定タイトル";
  var startTime = new Date("2018/07/20 15:00");
  var endTime = new Date("2018/07/20 16:00");
  var recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY).until(new Date("2018/08/31"));
  calendar.createEventSeries(title, startTime, endTime, recurrence);
}

『 変数の説明 』

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

createEventSeries実行結果①

スクリプトを実行すると、Googleカレンダーにタイトルに指定した予定名で2018年7月20日から2018年8月31日までの水曜日に繰り返し予定が作成されます。

createEventSeries(title, startTime, endTime, recurrence, options)

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

サンプルコード2
//デフォルトカレンダーにtitleに代入した予定タイトルでstartTimeからendTimeまでの時間に繰り返しの予定を作成するコード 
function sampleCode2() {
  var calendar = CalendarApp.getDefaultCalendar();
  var title = "繰り返し予定タイトル";
  var startTime = new Date("2018/07/20 15:00");
  var endTime = new Date("2018/07/20 16:00");
  var recurrence = CalendarApp.newRecurrence().addWeeklyRule().onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY).until(new Date("2018/08/31"));
  var options = {
    description: "定例ミーティング",
    location: "会議室①"
  }
  calendar.createEventSeries(title, startTime, endTime, recurrence, options);
}

『 変数の説明 』

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

createEventSeries実行結果②

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

まとめ

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

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

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

SNSでもご購読できます。

コメントを残す

*