広告

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

2017年12月12日

Google apps scriptから自由自在にカレンダーに予定を登録出来たら...

すっごく便利ですね(^^)

あひる
あひる
先の予定でもカレンダーをめくらずに登録出来るなんて便利だね
ううこ
ううこ
その気になれば年単位で登録することも可能だ

そこで今回はGoogle apps sriptからカレンダー登録する方法-終日編-についてご紹介していきます。

Google apps scriptからカレンダーに終日イベントを登録してみよう!

先ずは冒頭GIFで使用したスクリプトをご紹介致します。

/*カレンダーへ終日イベントを登録*/
function create(){
 //登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('◯◯◯@gmail.com');
//イベントのタイトルをtitleへ格納
var title = 'デート'
//イベント日をdayへ格納
var day = new Date('2017/12/24');
Logger.log(day);
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,day);
}

Google apps scriptでカレンダーへ終日イベントを新規登録するには、

  • CalendarApp
  • getCalendarById
  • createAllDayEvent

上記各3つのメソッドを使いながら

  1. 登録先のカレンダーIDを設定
  2. イベントのタイトル・開催日を設定
  3. createAllDayEventを設定してイベント登録

と設定していくことで、思っているよりも簡単に実現できます。

あひる
あひる
とか言いつつちゃかりハードル高そうっすね
ううこ
ううこ
createAllDayEventを扱うことができれば出来たも同然。1つずつ解決していこう

Google apps scriptからカレンダーへ登録する3つの手順

手順1. カレンダーアプリ&指定したカレンダーIDを取得する

Google apps scriptで、イベント登録先のカレンダーを指定する場合は

  • CalendarAppメソッド
  • getCalendarByIdメソッド

この2つのメソッドを「 . 」でつなぎ、変数(var ○○ =)に代入して使用します。

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

CalendarAppメソッド

google apps scriptからGoogleカレンダーを呼び出します。

getCalendarById(id)メソッド

指定されたカレンダーIDを取得します。カレンダーのIDはgmailアドレスで指定出来ます。

/*各メソッドを繋げたsample*/
var example = CalendarApp.getCalendarById('○○○@gmail.com');

※IDのgmailを囲む際はシングルクオテーション、ダブルクオテーションどっちでもOKです。

参照元 getCalendarById(id)

POINT!

getCalendarsBynameでも登録先のカレンダーを指定することができます。

getCalendarsByName(name)

ユーザーが所有または購読している特定の名前のすべてのカレンダーを取得します。名前は大文字小文字を区別しません。

引用元:getCalendarsByName

あひる
あひる
CalendarAppでGoogleカレンダーを呼び出して、getCalendarById(id)でイベント先のカレンダーを指定するっていうこと?
ううこ
ううこ
そういうことだ。各メソッドをドットで繋ぎ変数に代入することで、直ぐに使えるようにしておこう。
あひる
あひる
ギリギリついていきま...す

手順2. イベントのタイトルと開催日を設定する

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

  • タイトル
  • 開催日

を設定します。

カレンダーに終日イベントを登録するメソッド createAllDayEvent で使用するため、それぞれ変数varに格納していきます。

/*タイトルと開催日の設定sample*/
//イベントのタイトル
var title = 'デート';
//イベントの開催日
var date = new Date('2017/12/24');

開催日についてはDateオブジェクト「new Date」で日付けに換算する必要があるので、注意が必要です。

あひる
あひる
タイトルと開催日はvarを使って変数に代入するだけだから簡単だね!Dateオブジェクトも前回やったやつだし
ううこ
ううこ
日付けの取得がきちんと出来ているか心配であれば、一度Logger.logで値を確認してみると良い

関連記事Google apps scriptで日付を表示してみよう!

POINT!

タイトル・日付けを囲む際は先のID取得時と同様、

  • シングルクオテーション「’」
  • ダブルクオテーション「”」

上記のどちらでもOK。個人的にシングルクオテーション「’」の方が見やすい気がします。

手順3. createAllDayEventにタイトルと開催日を設定する

最後にcreateAllDayEventメソッドを使って、カレンダーへ終日イベントを登録していきます。

先に作成した以下3つを

  1. var event = CalendarApp.カレンダーID
  2. var title = 'タイトル'
  3. var day = new Date'開催日'

createAllDayEvent と繋げて完成です↓

/*終日イベントを登録sample*/
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,day);

createAllDayEventメソッド

createAllDayEvent(title, date)。

「title:タイトル、date:日付け」を指定して終日イベントを作成します。

参照元:createAllDayEvent

GASでカレンダーに登録する手順のソースをつなげた結果

ここまでのタイトル、日付け、登録までを全て繋げると...

/*カレンダーへ終日イベントを登録*/
function create(){
 //登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('◯◯◯@gmail.com');
//イベントのタイトルをtitleへ格納
var title = 'デート'
//イベント日をdayへ格納
var day = new Date('2017/12/24');
Logger.log(day);
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(title,day);
}

上記プログラムをコピペして◯◯◯gmailの部分を自分のアドレスに置き換えれば直ぐに使えます

あひる
あひる
おおw 出来た!僕でも出来たよ!
ううこ
ううこ
よくやったアヒルン

関連記事Google apps scriptでhello worldを表示させよう!

Google apps scriptでカレンダー登録する方法. まとめ

Google apps scriptからGoogleカレンダーへ、終日イベントを無事に登録出来ましたか?

  1. 登録先のカレンダーIDを設定
  2. イベントのタイトル・開催日を設定
  3. createAllDayEventにタイトルと開催日を設定

カレンダーIDを指定してタイトルと開催日を設定すれば簡単に createAllDayEvent でカレンダーへ登録が出来ちゃいます。

あひる
あひる
でも変数とかほんと難しかったです...
ううこ
ううこ
そこは慣れるしかない

次の記事では「終日」でなく登録するイベントの期間を指定する方法をご紹介いたします!

OYAKUN
OYAKUN
GASでカレンダーへ簡単にイベント登録出来るのは、Google apps scriptの恩恵ですね♪

コピペでOK!GASからカレンダーへイベントの期間を指定して登録する方法

関連記事: 【コピペでOK!】スプレッドシートとカレンダーを連携してイベントを一括登録する方法
関連記事: 【即戦力】GASでアラートメールを作成して期日になったら自動通知
関連記事: GASでHTMLの入力フォームを作成する方法とポイント2つ