Google Apps ScriptでGoogleカレンダーの予定をスプレッドシートに自動出力する方法

NO IMAGE

はじめに

Google カレンダーで管理している予定を一覧で確認したいとき、スプレッドシートに書き出せると便利です。
特に、複数のカレンダーを管理している場合、全ての予定を一括で確認するのは大変ですよね。

そこで、Google Apps Script(GAS)を使って、Googleカレンダーの予定をスプレッドシートに自動出力するスクリプトを作成しました。
このスクリプトを使えば、指定した期間の予定をスプレッドシートに簡単にリスト化できます。

スクリプトの概要

このスクリプトは以下の処理を行います。

  1. Googleカレンダーから指定した期間の予定を取得
  2. スプレッドシートに予定の詳細(タイトル、開始時間、終了時間、説明)を書き出し

スクリプトのコード

以下のコードを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カレンダーの予定をスプレッドシートに出力しました。");
}

スクリプトの説明

  1. exportCalendarEvents()
    • GoogleカレンダーのIDを指定(デフォルトはprimaryでメインカレンダーを取得)
    • スプレッドシートを取得し、既存データをクリア
    • 過去1週間~未来1週間の予定を取得
    • タイトル、開始時間、終了時間、場所、説明をスプレッドシートに書き込み

使い方

  1. Google スプレッドシートを作成
    • Google スプレッドシートを開く
    • 「拡張機能」→「Apps Script」を開く
  2. スクリプトを貼り付けて保存
  3. スクリプトを実行
    • Apps Script のエディタで exportCalendarEvents() を実行
  4. スプレッドシートを確認
    • Googleカレンダーの予定がスプレッドシートに書き込まれていることを確認

スケジュール実行(自動更新)

毎日自動でカレンダーの予定を更新する場合は、トリガーを設定します。

  1. Google Apps Script のエディタで「編集」→「現在のプロジェクトのトリガー」を開く
  2. 「トリガーを追加」ボタンを押す
  3. 関数を exportCalendarEvents に設定
  4. 実行タイミングを「時間主導型」にして、1日ごと・1時間ごとなどに設定

おわりに

このスクリプトを使えば、Googleカレンダーの予定を簡単にスプレッドシートにまとめることができます。
チームのスケジュール管理や、会議の予定リスト作成などに活用してみてください!

GASカテゴリの最新記事