ヘッダーロゴ

【直ぐに使える】Google apps scriptからカレンダー登録|-期間指定編-

Google apps scriptからカレンダーへ登録するイベントの期間を指定出来たら・・

スケジュールのブッキングもひと目で分かりますね。

アヒルン
イベント開始日と終了日を、スプレッドシートから登録できるの?
うちゅうじん
そのとおり。

今回はGoogle apps scriptからカレンダー登録-期間指定編-をご紹介致します。

Google apps scriptからカレンダーへ登録|期間指定をしてみよう

前回Google apps scriptからカレンダーへ終日イベントを登録する方法 をご紹介しました。

今回はイベントを終日登録ではなく

  • イベントの開始日
  • イベントの終了日

と期間を指定した登録を行っていきます。

大まかには

  1. 登録するカレンダーIDを設定
  2. イベントのタイトル・開始日・終了日を設定
  3. createAllDayEventにてイベント登録

という手順です。

先ずは冒頭GIFで使用したscriptをご参照下さい。↓

/*カレンダーへ期間指定したイベントを登録*/
function create2(){

//登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('◯◯◯@gmail.com');

//イベントのタイトルをtitleへ格納
var title = 'お泊り♡'
Logger.log(title);

//イベントの開始日をstartへ格納
var start = new Date('2017/12/25');
Logger.log(start);

//イベントの終了日をendへ格納
var end = new Date('2017/12/27');
Logger.log(end);

//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,start,end);

}
上記コードの○○○@gmailに指定のアドレスを設定すれば、コピペで直ぐに使えます。

アヒルン
う”...今回もハードル高そうだよ...
うちゅうじん
終了日の設定が増えただけだ。前回同様にcreateAllDayEventメソッド使って登録する。また1つずつ解決していこう。

Google apps scriptから期間指定されたイベントをカレンダー登録する3つの手順

手順1. GASからイベント登録するカレンダーIDを指定

最初にCalendarAppでカレンダーを呼び出し、getCalendarByIdでカレンダーIDを指定します。

/*GASからカレンダーIDを指定するsample*/

//登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('○○○@gmail.com');

アヒルン
確かCalendarAppとgetCalendarByIdをドット「.」で繋いで、、IDはGmailを指定するんだっけ
うちゅうじん
ここの設定は後々使うので変数宣言しておくと良い。

参照:CalendarApp / getCalendarById

手順3. イベントのタイトル・開始日・終了日を設定

次にカレンダーに登録するイベントの

  • タイトル
  • 開始日
  • 終了日

を変数宣言します。

/*タイトル・開始日・終了日を格納sampl*/

//イベントのタイトルをtitleへ格納
var title = 'お泊り♡'
Logger.log(title);

//イベントの開始日をstartへ格納
var start = new Date('2017/12/25');
Logger.log(start);

//イベントの終了日をendへ格納
var end = new Date('2017/12/27');
Logger.log(end);
POINT!

ここで設定したタイトル・開始日・終了日はこの後のcreateAllDayEventメソッドのなかに格納して使います。

アヒルン
タイトルはシングルクオテーションで囲って、開始日・終了日はnew Dateでデータ型に換算して・・
うちゅうじん
日付けもシングルクオテーションで囲っておこう

本記事ではそれぞれ

  • タイトル=title
  • 開始日=start
  • 終了日=end

といった変数に開始日や終了日を格納しました。

手順3. createAllDayEventで手順2をイベント登録

最後にcreateAllDayEventでイベントをカレンダーへ登録します。

createAllDayEvent(title, startDate, endDate)

タイプ 説明
title String イベントのタイトル
startDate Date イベントが開始される日付
(曜日のみが使用され、時間は無視されます)
endDate Date イベントが終了した日付
(曜日のみが使用され、時間は無視されます)

引用元:createAllDayEvent

 

先ほど設定した各変数を

  • event =カレンダーIDを取得
  • title=イベントのタイトル
  • start =イベントの開始日
  • end=イベントの終了日

createAllDayByIdに格納すればOKです。

/*変数をcreateAllDayByIdに格納sample*/

//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,start,end);
アヒルン
よし、繋げたぞ。動くかな...ドキドキ

手順1~3を繋げたものがコチラです↓

/*カレンダーへ期間指定したイベントを登録*/
function create2(){

//登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('◯◯◯@gmail.com');

//イベントのタイトルをtitleへ格納
var title = 'お泊り♡'
Logger.log(title);

//イベントの開始日をstartへ格納
var start = new Date('2017/12/25');
Logger.log(start);

//イベントの終了日をendへ格納
var end = new Date('2017/12/27');
Logger.log(end);

//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,start,end);

}

これを実行してみると...

アヒルン
やったwお泊りイベントが設定できた//
うちゅうじん
よくやったアヒルん(アヒルって宿泊の概念があるのか・・)

【コピペでOK!】Google apps scriptでカレンダーに登録しよう!-終日編-

Google apps scriptから期間指定されたイベントをカレンダー登録|まとめ

GASを使って指定したイベント期間をカレンダー登録してみましたが、無事に設定出来ましたか?

前回記事から少しだけ派生しただけなので、直ぐに作り終えられたのではないでしょうか。

  1. 登録するカレンダーIDを設定
  2. イベントのタイトル・開始日・終了日を設定
  3. createAllDayEventにてイベント登録

アヒルン
createAllDayEventメソッドってスゴイ便利だね
うちゅうじん
設定する内訳が分かればさらに詳細なイベントを設定できるぞ

というわけで次回はカレンダー登録するイベントに「場所・説明」を追加する方法をご紹介いたします。

oyakun
例えば開始日を'170101’、終了日を'180101’に設定すれば一度に一年分のスケジュールも登録できますヨ♪

関連記事: 分でOK!Google apps scriptでカレンダーへイベントの場所・説明を登録する3つの手順
関連記事: 【コピペでOK!】スプレッドシートとカレンダーを連携してイベントを一括登録する方法
関連記事: 【コピペでOK!】Google apps scriptでカレンダーに登録しよう!-終日編-
関連記事: 【コピペで完了】スプレッドシートからメール送信!スクリプトで一発解決!

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ