• 公開日:

GASでスプレッドシートに書いた予定をGoogle カレンダーに流し込む方法

Google スプレッドシートではGoogle Apps Script(GAS)を使用することで、シート上に書いた予定をGoogle カレンダーに流し込むことが出来ます。

シート上で指定した日時や予定は勿論、シート上に作成したカレンダーと自動的に連動させることも可能です。

この記事では、GASでスプレッドシートに書いた予定をGoogle カレンダーに流し込む方法を分かりやすく紹介します。

GASでスプレッドシートに書いた予定をGoogle カレンダーに流し込む方法

GASでスプレッドシートに書いた予定をGoogle カレンダーに流し込む方法を分けて詳しく解説します。

シートに書いた予定を流し込む場合

シート上で指定した日時や予定を流し込む場合は、作成したスクリプトを実行することで実現します。

予定流し込みイメージ

以下の記事にて、GASでシートに書いた予定をGoogle カレンダーに流し込む方法を詳しく解説しています。

スプレッドシートとGoogle カレンダーを連携する方法

シート上に書いた予定を自動で流し込む

シート上にカレンダーを作成し、シートのカレンダーに予定が書き込まれたことをトリガー(発動条件)としてGoogle カレンダーに流し込むことができます。

「Apps Script」を順に選択

あらかじめGoogle カレンダーに予定を流し込むためのカレンダーを作成しています。

スプレッドシートを開き、①「拡張機能」、②「Apps Script」を順に選択します。

「新しいプロジェクト」ボタンをクリック

「新しいプロジェクト」ボタンをクリックします。

名前を変更をクリック

「名前を変更」をクリックします。

名前を変更します。

「プロジェクトタイトル(例:Googleカレンダーへ流し込む)」を入力し、②「名前を変更」ボタンをクリックします。

スクリプトをコピーして貼り付け

下記のスクリプトをコピーして貼り付けます。

シートのカレンダーにある日付セルの下にあるセルが編集された時に、編集内容をGoogle カレンダーに流し込みます。

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;

  // 日付セルの下のセルに変更があった場合
  if (range.getRow() > 1 && sheet.getRange(range.getRow() - 1, range.getColumn()).getValue() instanceof Date) {
    var dateCell = sheet.getRange(range.getRow() - 1, range.getColumn());
    var eventDate = dateCell.getValue();
    var eventDescription = range.getValue();

    createCalendarEvent(eventDate, eventDescription);
  }
}

function createCalendarEvent(date, description) {
  // カレンダーIDを設定 (ここに使用したいカレンダーのIDを入力してください)
  var calendarId = 'your-calendar-id@group.calendar.google.com';
  var calendar = CalendarApp.getCalendarById(calendarId);

  // イベントの開始と終了時間を設定
  var startTime = new Date(date);
  startTime.setHours(9);
  startTime.setMinutes(0);
  startTime.setSeconds(0);

  var endTime = new Date(date);
  endTime.setHours(10);
  endTime.setMinutes(0);
  endTime.setSeconds(0);

  // カレンダーにイベントを追加
  calendar.createEvent(description, startTime, endTime);
}
「カレンダー」を順に選択

新しいタブなどでGoogleのホーム画面を開きます。

「Google アプリ」「カレンダー」を順に選択します。

「設定」を順に選択

「設定メニュー」「設定」を順に選択します。

Google アカウント名を選択

マイカレンダー設定にある、流し込みたいGoogle カレンダーを使用している、Google アカウント名を選択します。

カレンダーIDをコピーする

カレンダーIDをCtrl+Cキーでコピーします。

コピーしたカレンダーIDを貼り付ける

GASのエディターに戻り、「calendarId」にCtrl+VキーでカレンダーIDを貼り付けます。

「プロジェクトを保存」ボタンをクリック

「プロジェクトを保存」ボタンをクリックします。

トリガーをクリック

左にあるトリガーをクリックします。

「トリガーを追加」ボタンをクリック

「トリガーを追加」ボタンをクリックします。

トリガーを設定し保存します

「onEdit」、②「Head」、③「スプレッドシートから」、④「編集時」をそれぞれ選択し、⑤「保存」ボタンをクリックします。

日付セル下のセルを編集

シートに戻り、カレンダーにある日付セル下のセルを編集します。

Google カレンダーに自動的に予定を流し込むことが出来る

GASを使用して、Google カレンダーに自動的に予定を流し込むことが出来ました。