見出し画像

【GoogleAppsScript】特定の日付でルールが終了する【until(endDate)】

このルールを適用すると、特定の日付でルールが終了する設定が適用されます。

今回のプログラム


プログラム説明

var today = new Date();

本日の日付を「today」変数に入力します。

var enddate = new Date(today6060*24);

翌日日付を「enddate」変数に入力します。
秒単位でtoday変数に値が入っているので「60秒,60分,24時間」をくわえて「enddate」に入れます。

var recurrence = CalendarApp.getDefaultCalendar();

にて、自分が使用するCalendarを取得します。
こちらは特に意識することはありません。カレンダーを操作する際にはこれを書くのだな?ぐらいに思っておいてください。

var adrec = recurrence.addYearlyRule();
var owrec = adrec.onlyOnYearDays([10, 30]);

addYearlyRuleで年間スケジュールを設定します。

そして、1年のうちonlyOnYearDayメソッド、引数の「10日後の1月10日」「30日後の1月30日」に
イベントを設定します。

CalendarApp.getDefaultCalendar()
.createAllDayEventSeries('予定', today, owrec);

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

サンプルプログラム

function myFunction() {
  var today = new Date();
  var enddate = new Date(today*60*60*24);
  var recurrence = CalendarApp.newRecurrence();
  var adrec = recurrence.addDailyRule();
  var owrec = adrec.until(enddate);

  CalendarApp.getDefaultCalendar()
             .createAllDayEventSeries('予定', today, owrec);
}

プログラム実行前

特になし

プログラム実行後

本日日付でスタート
翌日日付でゴール
なので、2日間のイベント(予定)が設定されてます。

予定が設定されます

注意

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


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

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

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