Googleカレンダーの複雑な繰り返し条件を設定する

date
Feb 26, 2022
type
Post
status
Published
slug
create-complex-reccuring-events-of-google-calendar
summary
GoogleカレンダーのGUIでできない設定をGoogleAppScriptで行う
tags
Automation
備考
 
便利なことを知ったのでメモ。
 
「隔日かつ平日のみ」など、 GoogleカレンダーのGUI上では行えないような複雑な繰り返し条件の設定は、 GoogleAppScriptを介して予定作成することで実現できる。
リファレンスをみた感じ、どんな複雑な条件設定も実現できそうだった。

例: 隔日かつ平日のみ

const CALENDAR_ID = 'xxxxx@xxxxx.xxx';// あなたのメールアドレス

function createEventSeries() {
  var eventSeries = CalendarApp.getDefaultCalendar()
    .setTimeZone("Asia/Tokyo")
    .createEventSeries(
      'カレンダーのタイトル',
      new Date('Mar 3, 2022 06:00:00 PM'), // 予定の開始時間
      new Date('Mar 3, 2022 06:30:00 PM'), // 予定の終了時間
      CalendarApp
          .newRecurrence()// 繰り返し条件オブジェクトの作成
          .addDailyRule().interval(2) // 2日に一回
          .onlyOnWeekdays([CalendarApp.Weekday.MONDAY, CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.WEDNESDAY, CalendarApp.Weekday.THURSDAY, CalendarApp.Weekday.FRIDAY])
          .until(new Date('Jan 1, 2023'))
          .setTimeZone("Asia/Tokyo")
          ,
      {location: 'Conference Room'});
  Logger.log('Event Series ID: ' + eventSeries.getId());
}
 
繰り返し予定を一度作ってしまえば、あとはいつもどおりGUIから予定を編集すれば内容も一気に変更できる。
 
※これをやる場合、まずはGoogleAppScriptのタイムゾーンの修正が必要です。

© Takuya Okamoto 2021 - 2024 RSS