見出し画像

【GoogleAppsScript】週単位で除外するルールを追加【addWeeklyExclusion】

週単位で除外するルールを追加します。

今回のプログラム


プログラム説明

var today = new Date();

本日日付、こちらは引数のスタート日を「today」変数に代入します。

var recurrence = CalendarApp.newRecurrence();

新しいイベントルールを作成し、recurrence変数に代入します。

var rrule = recurrence.addDailyRule().times(7);
var erule = rrule.addWeeklyExclusion()
var wdrule = erule.onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
var trule = wdrule.times(1);

「rrule」変数に、毎日予定作成を宣言します。(7日=1週間分だけ作成をします)
「erule」変数に、週間の除外予定を作成宣言します。
「wdrule」変数に、カレンダーの毎週水曜日だけ除外を設定します。
「trule」変数に、timeで何週間繰り返すかで1週間だけ除外する予定を設定します。

CalendarApp.getDefaultCalendar()
.createAllDayEventSeries('予定作成', today, rrule);

最後にCalendarApp.getDefaultCalendar()で
預定を作成します。
createAllDayEventSeriesは、引数1つ目には予定名
2つ目は、イベントスタート日(イベント設定日)、3つ目は再度繰り返しイベントを設定をします。

サンプルプログラム

function myFunction() {
  var today = new Date();
  var recurrence = CalendarApp.newRecurrence();
  var rrule = recurrence.addDailyRule().times(7);
  var erule = rrule.addWeeklyExclusion()
  var wdrule = erule.onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
  var trule =  wdrule.times(1);
  
  CalendarApp.getDefaultCalendar()
             .createAllDayEventSeries('除外予定', today, trule);
}

プログラム実行前

特になし

プログラム実行後

1週間分預定を作成し、水曜日だけ除外がされています

注意

実行時に「権限ポップアップ」が出る場合はこちらを参照してください。


もっとGoogleAppsScriptを学びたい人はこの一冊!

#GoogleAppsScript #JavaScript #プログラミング #プログラミング初心者 #JavaScript初心者

この記事が気に入ったらサポートをしてみませんか?