GASでスプレッドシートの入力からGoogleカレンダーに複数のイベントを追加


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASでGoogleカレンダーに複数の予定をまとめて追加するスクリプトを作成する方法をお伝えしています。

前回の記事はこちら。

GASでデフォルトのGoogleカレンダーにイベントを追加する簡単なスクリプト
Google Apps ScriptでGoogleカレンダーに複数のイベントをまとめて追加するスクリプトを作っていきます。今回は、GASでデフォルトのカレンダーを取得してイベントを追加する方法です。

Googleカレンダーに一つのイベントを追加する簡単なスクリプトについて紹介しました。

今回は、GASでスプレッドシートに入力した内容をもとに、複数のイベントを追加できるようにしていきたいと思います。

では、行ってみましょう!

前回のおさらい

前回は、GASでデフォルトのカレンダーに単一のイベントを追加する方法をお伝えしました。

イベントを追加するメソッドはcreateEventメソッドです。

Calendarオブジェクト.createEvent(イベント名, 開始時間, 終了時間, オプション)

それで、作成したスクリプトがこちらですね。

今回は、スプレッドシートに複数のイベント情報を入力しておいて、それをもとにイベントを追加できるようなスクリプトを作っていきたいと思います。

イベント情報を入力したスプレッドシート

まず、スプレッドシートを準備してみました。

こちらです。

カレンダーに追加するデータをスプレッドシートに入力

各列の構成は以下のようになっていますよ。

見出し データ型 説明
A列 イベントタイトル String イベント名
B列 開始時間 Date イベントの開始日時
C列 終了時間 Date イベントの終了日時
D列 場所 String 場所
E列 説明 String 説明

ほら、createEventメソッドで必要な引数に忠実に作ってみましたよ。

スプレッドシートから取得したデータの型を調べる

そういえば、createEventメソッドの開始時間、終了時間はDateオブジェクトで与える必要がありましたよね…

スプレッドシートで日付型で記述しているからって、それってgetValuesメソッドなどで取得したら、それはDateオブジェクトになるんですかね?

文字列型になっちゃったりしませんかね?

心配な方は、以下のようなスクリプトを実行してみましょう。

3行目ですが、バインドしているスプレッドシートのアクティブシートの使用しているデータ範囲の値を二次元配列で取得しているステートメントになります。

そして、5行目からのfor文ですが、その二次元配列の見出し行の次から要素がある分だけ繰り返しをするというものです。

forループの処理ですが、2列目つまりB列の値とそのデータ型をログ出力しています。

typeof演算子で値のデータ型を確認する

typeof演算子は、値のデータ型を取得します。

typeof

前述のスクリプトを実行すると、以下のようなログ出力を得ました。

スプレッドシートの日時についてtypeof演算子でデータ型を確認

タイプは「object」となっていますね。おそらく、Dateオブジェクトとして取得されていると考えて良いでしょう。

スプレッドシートに入力した複数のイベントをカレンダーに追加するスクリプト

では、安心してスプレッドシートのイベントリストから、Googleカレンダーにイベントを追加するスクリプトを作ってみました。

このスクリプトを実行すると、以下のようにイベントが追加されたことを確認できました。

スプレッドシートのデータから追加したGoogleカレンダーのイベント

まとめ

以上、GASでスプレッドシートの入力をもとにGoogleカレンダーに複数のイベントを追加するスクリプトを紹介しました。

次回以降、このツールをもう少し便利にしていきたいと思います。

Google Apps ScriptでDateオブジェクトの複製や時刻のセットで注意すること
GASでGoogleカレンダーに複数の予定を簡単に登録できるツールを作成しています。今回はGoogle Apps ScriptでDateオブジェクトの複製や時刻のセットで注意することについてお伝えします。

どうぞお楽しみに!

連載目次:GASでカレンダーイベントをまとめて追加するツールを作る

Googleカレンダー便利ですよね!ただ、複数のイベントをいくつも追加しなければいけないとき…少し面倒です。そんなときのための便利ツールとして、スプレッドシートの入力情報をもとにカレンダーイベントをまとめて追加するツールを作成していきます。
  1. GASでデフォルトのGoogleカレンダーにイベントを追加する簡単なスクリプト
  2. GASでスプレッドシートの入力からGoogleカレンダーに複数のイベントを追加
  3. Google Apps ScriptでDateオブジェクトの複製や時刻のセットで注意すること
  4. Google Apps Scriptで日付関連の処理を関数化する例とその際のポイント
  5. Google Apps Scriptで関数の引数を省略した場合の挙動とデフォルト値の設定方法
  6. GASで論理演算子「||」を使って条件分岐の省略をしつつ変数に値を代入する方法

The following two tabs change content below.
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ ★フォロー頂ければ嬉しいです。

コメント