お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
Googleカレンダーの当日の予定を一覧表示できたら便利だと思いませんか?
この記事ではそんなあったらいいなを、Google Apps Scriptで解決します。

- 1日のスケジュールを一覧表示して予定を確認したい
- Google カレンダーをもっと賢く使いたい
- プログラミングでJavaScriptを学んだけど、何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
タップできる目次
GASでカレンダーの予定を取得する方法

1クリックするだけで当日のすべての予定をカレンダーから取得して、一目でわかりやすいように文章にして表示します。
GASを使うと、予定を簡単に一覧として表示することができます。
GASでカレンダーの予定を取得する準備
Google Apps Scriptでカレンダーのスケジュールを取得する準備をします。ファイルを2点を用意します。
必要なファイル
- Google Apps Script ・・・ コードの入力&カレンダーを取得
- Google カレンダー ・・・ 当日の予定を記入
サンプルコードを貼り付ける方法
ソースコードはGoogle Apps Scriptのファイルにコピペします。
メニュー画面で右クリックし、オプションを開きます。メニュー一覧の一番下の「その他」を選択し、その中の「Google Apps Script」を選択します。

以下のような画面が現れます。ここにコードをコピペして実行します。

予定を Google カレンダー に登録
取得するカレンダーの予定を登録します。この記事では予定を2つ作成しました。
タイトルや時間などは、あなたの好きな内容で問題ありません。
しかし、あとでGoogle Apps Script にカレンダーの予定を受け取るテストを行うので当日のカレンダーに記入します。

カレンダーの予定を取得するサンプルコード
Google Apps Scriptでカレンダーから当日の日程を取得するサンプルコードを紹介します。
解説の項目
- サンプルコード
- A, 日付と時間を取得
- B, Googleカレンダーの情報を取得
- C, 全ての予定を1つの文章につなげて出力
サンプルコード
ソースコードの全体です。右上にあるマークを押すとコードのコピペが一瞬でできます。
また、コード内で文頭にアルファベットが付いているコメントごとに、詳細を説明していきます。
function createCalendarList() {
//A, 日付と時間を取得
const today = new Date();
today.setHours(00);
today.setMinutes(00);
today.setSeconds(00);
const tomorrow = new Date(Date.parse(today) + (24 * 60 * 60 * 1000));
//B, Googleカレンダーの情報を取得
let events = CalendarApp.getEvents(today, tomorrow);
let messageArray = [];//カレンダーから取得した予定を格納
//C, 全ての予定を1つの文章につなげて出力
for (var i in events) {
//当日の予定の件数
const addedNum = Number(i) + 1;
const number = "\n" + addedNum + "件目";
//予定の開始時刻
const startHours = "0" + events[i].getStartTime().getHours();
const startMinutes = "0" + events[i].getStartTime().getMinutes();
const startTime = startHours.slice(-2) +":"+ startMinutes.slice(-2); //データ型から文字列に変換
//予定の終了時刻
const endHours = "0" + events[i].getEndTime().getHours();
const endMinutes = "0" + events[i].getEndTime().getMinutes();
const endTime = endHours.slice(-2) +":"+ endMinutes.slice(-2); //データ型から文字列に変換
//場所
let location = "\n【場所】" + events[i].getLocation();
//詳細
let description = "\n【詳細】" + events[i].getDescription();
//取得した情報を一文にし、配列に格納
const time = "\n【時間】" + startTime +" ~ "+ endTime;
const title = "\n【予定】" + events[i].getTitle();
const message = number + time + location + title + description + "\n";
messageArray.push(message);
}
Logger.log(messageArray);
}
A, 日付と時間を取得
//A, 日付と時間を取得
const today = new Date();
today.setHours(00);
today.setMinutes(00);
today.setSeconds(00);
const tomorrow = new Date(Date.parse(today) + (24 * 60 * 60 * 1000));
当日の日付 & 翌日の日付をそれぞれ取得してインスタンスを作成します。
定数 today は当日、定数 tomorrow は翌日を意味します。
当日の0時を基準に24時間後の翌日の日付の2つを用意することで、その間の時間にセットされた予定をすべて取得できます。
この記事では省略しますが、日付を設定するDateオブジェクトについての詳細は以下をご参考ください。
【Dateオブジェクトの詳細】
Dateオブジェクトを使って日付を表示する方法 | TechAcademyマガジン
B, Googleカレンダーの情報を取得
//B, Googleカレンダーの情報を取得
let events = CalendarApp.getEvents(today, tomorrow);
let messageArray = []; //カレンダーから取得した予定を格納
Aで定義した2つの日付を getEvents メソッドの引数に入れ、Googleカレンダーを読み取って当日分の予定を全て取得します。
変数 messageArray は、次のCで取得したカレンダーの予定を文字列の一覧として出力するときに使います。
C, 全ての予定を1つの文章につなげて出力
//C, 全ての予定を1つの文章につなげて出力
for (var i in events) {
//当日の予定の件数
const addedNum = Number(i) + 1;
const number = "\n" + addedNum + "件目";
//予定の開始時刻
const startHours = "0" + events[i].getStartTime().getHours();
const startMinutes = "0" + events[i].getStartTime().getMinutes();
const startTime = startHours.slice(-2) +":"+ startMinutes.slice(-2); //データ型から文字列に変換
//予定の終了時刻
const endHours = "0" + events[i].getEndTime().getHours();
const endMinutes = "0" + events[i].getEndTime().getMinutes();
const endTime = endHours.slice(-2) +":"+ endMinutes.slice(-2); //データ型から文字列に変換
//場所
let location = "\n【場所】" + events[i].getLocation();
//詳細
let description = "\n【詳細】" + events[i].getDescription();
//取得した情報を文にして、配列に格納
const time = "\n【時間】" + startTime +" ~ "+ endTime;
const title = "\n【予定】" + events[i].getTitle();
const message = number + time + location + title + description + "\n";
messageArray.push(message);
}
Logger.log(messageArray);
}
取得したカレンダーの予定を1つの文字列にまとめて出力します。
for文を使って、読み取ったオブジェクト型のデータを1件ずつ取り出し、「予定の開始時刻」,「予定の終了時刻」,「場所」,「詳細」の4つの情報を取得します。
カレンダーから1つ予定を取り出した後、1つの文字列にまとめてpushメソッドでmessageArray配列内に格納します。
配列に要素を追加する詳しい方法についてはこちら。
-
【簡単】GASで配列に要素を追加する4つの方法
続きを見る
すべての予定を取得後、まとめた文字列をログ出力します。コードの説明は以上です。
カレンダーから予定を取得するテスト
実際に、カレンダーから当日の日程を取得します。
Apps Scriptの上バーの文字が「createCalendarList」になっていたら、「実行」を押します。

「このアプリはGoogleで確認されていません」と表示される場合はこちら。
-
【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法
続きを見る
画像のようにログ結果がでたら完了です。2つの予定を取り出すことに成功しました。

カレンダーを取得できない時の対処法
ログ出力すると、カレンダーの日付や時間がずれて表示されることがあります。
これはGoogle がアメリカの時間を標準にしているのが原因なので、標準時を日本に合わせる必要があります。
3分で解決できますのでぜひご参考ください。
-
【3分で解決】GASで出力した時間がずれたときにタイムゾーンを変更する方法
続きを見る
【無料】GASを使ってスケジュール管理をさらに便利に
GASを使えば予定の取得以外にも、予定を登録したり、今回紹介したコードを応用してLINEで1日のすべての予定を毎朝通知するアプリも無料で作れます。
今日1日にすべきことが一覧でわかるので非常に便利なツールです。
このサイトでは無料で便利なアプリの作り方も紹介しているので、ぜひご活用ください。
もちろん、コピペOKです!
-
【3分で簡単】GASでカレンダーに予定を追加する方法
続きを見る
-
【簡単】GASで当日のカレンダーの予定をLINEに通知
続きを見る
おわりに | GASでカレンダー操作できる
以上、Google Apps Script を使った Googleカレンダーに登録されている当日の予定一覧としてを取得する方法でした。
そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。
GASでさらに業務効率化したい場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます。
プログラミング未経験者にもわかりやすく解説しています。
GASユーザーのあっきょがおすすめの勉強方法はこちら↓
次回の記事もご期待ください!