SiiD BLOG ロゴ

【Google】スプレッドシートからカレンダーにGASで自動的にイベントを組み込む方法

【Google】スプレッドシートからカレンダーにGASで自動的にイベントを組み込む方法

この記事を書いた人

SiiD BLOG編集部

SiiD BLOG編集部

SiiD BLOG編集部にて、皆さんの学習やキャリアに役立つ記事を発信します! 普段は受講生の皆さん向けに、学習やキャリアの相談にのったりもしています。

Google Apps Script (GAS) を使用して Googleスプレッドシートのデータを基に Google カレンダーにイベントを追加する一連の手順を紹介します。あらかじめスプレッドシートにはイベントのタイトル、開始日時、終了日時がリストされているとします。

ステップ 1: スプレッドシートの準備

  1. Google スプレッドシートを開き、3列(タイトル、開始日時、終了日時)を用意します。
  2. 各行にイベントのデータを入力します。
google spread sheetのgoogle カレンダー用の設定

ステップ 2: Google Apps Script の作成

  1. スプレッドシートのメニューから「拡張機能」>「Apps Script」を選択します。
  2. 下記のスクリプトをコピーして Apps Script のエディタに貼り付けます。

このプロセスの詳細は、こちらのページを確認してください。

// 関数 `addEventsToCalendar` の定義を開始
function addEventsToCalendar() {
  // 現在アクティブなスプレッドシートを取得し、そのアクティブなシートを変数 `sheet` に格納
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // シート内のすべてのデータ範囲を取得し、その値(2次元配列)を `rows` に格納
  var rows = sheet.getDataRange().getValues();
  // デフォルトのカレンダーを取得し、変数 `calendar` に格納
  var calendar = CalendarApp.getDefaultCalendar();

  // ループを開始。1行目はヘッダー行として扱うため、2行目から処理を開始(i = 1)
  for (var i = 1; i < rows.length; i++) {
    // 現在の行のデータを `row` に格納
    var row = rows[i];
    // 行の最初の要素(0番目の列)をイベントのタイトルとして取得
    var title = row[0];
    // 行の2番目の要素(1番目の列)を開始日時として取得し、Date オブジェクトに変換
    var startTime = new Date(row[1]);
    // 行の3番目の要素(2番目の列)を終了日時として取得し、Date オブジェクトに変換
    var endTime = new Date(row[2]);
    // 取得したタイトル、開始日時、終了日時を使用して、カレンダーに新しいイベントを作成
    calendar.createEvent(title, startTime, endTime);
  }
}
google spread sheetとgoogle apps scriptの連携

ステップ 3: スクリプトの実行

  1. Apps Script のエディタで「実行」ボタンをクリックし、addEventsToCalendar 関数を選択します。
  2. 初めてスクリプトを実行する場合は、Google による認証が必要になります。画面の指示に従って認証を完了させてください。

このスクリプトを実行すると、次のようにGoogleカレンダーに、スプレッドシートに書いた予定が反映されます。

google カレンダー

主な Google カレンダー操作関数

以下に列挙するGoogleカレンダーの操作関数を使えば、さらに高度なプログラムを作ることができるので、参考までに。

  1. イベントの追加
    • createEvent(title, startTime, endTime, options)
      • イベントをカレンダーに追加します。
      • title はイベントのタイトル、startTime と endTime は Date オブジェクトで、イベントの開始と終了時刻を指定します。
      • options は任意のパラメータを含むオブジェクトで、場所や説明などを設定できます。
  2. イベントの検索
    • getEvents(startTime, endTime)
      • 指定した期間内のイベントを取得します。
      • startTime と endTime は Date オブジェクトで、検索する期間の開始と終了時刻を指定します。
  3. イベントの更新
    • GAS は直接「イベントを更新する」関数を提供していませんが、getEvents で取得したイベントオブジェクトを通じて、setTitle、setTime、setDescription などのメソッドを使用してイベントの詳細を更新できます。
  4. イベントの削除
    • イベントオブジェクトには deleteEvent メソッドがあり、これを使用してイベントを削除できます。

GASのCalendarAppは、自分の業務に当てはめて動かしてみると理解が一気に進みます。こうした自動化の土台になるプログラミングの基礎から学び直す進め方もあります。

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る