はじめに
Google カレンダーで管理している予定を一覧で確認したいとき、スプレッドシートに書き出せると便利です。
特に、複数のカレンダーを管理している場合、全ての予定を一括で確認するのは大変ですよね。
そこで、Google Apps Script(GAS)を使って、Googleカレンダーの予定をスプレッドシートに自動出力するスクリプトを作成しました。
このスクリプトを使えば、指定した期間の予定をスプレッドシートに簡単にリスト化できます。
スクリプトの概要
このスクリプトは以下の処理を行います。
- Googleカレンダーから指定した期間の予定を取得
- スプレッドシートに予定の詳細(タイトル、開始時間、終了時間、説明)を書き出し
スクリプトのコード
以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。
function exportCalendarEvents() {
var calendarId = "primary"; // メインのカレンダーを指定(別のカレンダーIDに変更可)
var calendar = CalendarApp.getCalendarById(calendarId);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear(); // 既存のデータをクリア
// ヘッダーを設定
var headers = ["タイトル", "開始時間", "終了時間", "場所", "説明"];
sheet.appendRow(headers);
// 取得する期間(過去1週間から未来1週間)
var startDate = new Date();
startDate.setDate(startDate.getDate() - 7);
var endDate = new Date();
endDate.setDate(endDate.getDate() + 7);
// イベントを取得
var events = calendar.getEvents(startDate, endDate);
events.forEach(event => {
var row = [
event.getTitle(),
event.getStartTime(),
event.getEndTime(),
event.getLocation(),
event.getDescription()
];
sheet.appendRow(row);
});
Logger.log("Googleカレンダーの予定をスプレッドシートに出力しました。");
}
スクリプトの説明
exportCalendarEvents()
- GoogleカレンダーのIDを指定(デフォルトは
primary
でメインカレンダーを取得) - スプレッドシートを取得し、既存データをクリア
- 過去1週間~未来1週間の予定を取得
- タイトル、開始時間、終了時間、場所、説明をスプレッドシートに書き込み
- GoogleカレンダーのIDを指定(デフォルトは
使い方
- Google スプレッドシートを作成
- Google スプレッドシートを開く
- 「拡張機能」→「Apps Script」を開く
- スクリプトを貼り付けて保存
- スクリプトを実行
- Apps Script のエディタで
exportCalendarEvents()
を実行
- Apps Script のエディタで
- スプレッドシートを確認
- Googleカレンダーの予定がスプレッドシートに書き込まれていることを確認
スケジュール実行(自動更新)
毎日自動でカレンダーの予定を更新する場合は、トリガーを設定します。
- Google Apps Script のエディタで「編集」→「現在のプロジェクトのトリガー」を開く
- 「トリガーを追加」ボタンを押す
- 関数を
exportCalendarEvents
に設定 - 実行タイミングを「時間主導型」にして、1日ごと・1時間ごとなどに設定
おわりに
このスクリプトを使えば、Googleカレンダーの予定を簡単にスプレッドシートにまとめることができます。
チームのスケジュール管理や、会議の予定リスト作成などに活用してみてください!
コメントを書く