Google Apps Script(GAS)でGoogleカレンダーからスプレッドシートに予定を取り込む

よこのじ(@yokonoji_work)です。

Google Apps Script(GAS)を使って、Googleカレンダーからスプレッドシートに予定の一覧を取り込んでみましたので、その方法をご紹介します。

実現したこと

Googleカレンダーからスプレッドシートに予定の一覧取り込んだとはどういうことかと言いますと、このようにカレンダーに予定1、予定2、予定3とあったとして・・・

google-apps-script-650-cal

これらの予定のタイトル、開始・終了時刻、そこから計算した所要時間、予定の詳細や開催場所をスプレッドシートに読み込んで一覧表示させました。

google-apps-script-650-sheet

このように、カレンダーでは一目で見えない情報を一覧表示することで、業務管理に役立てることができます。

実現方法

スプレッドシートとスクリプトの連携

スプレッドシートからスクリプトとの連携の設定をします。

ツール > スクリプトエディタより、スクリプトのエディタ画面に移動します。

1112-s-sheet

エディタ画面に移動したら、元々あったコードは削除して下記のソースコードをエディタに貼り付けてみてください。なお、このソースコードでは2018/11/01から2018/11/30の1か月分のカレンダーを取得するようになっています。

コードを貼り付けたら、GoogleカレンダーよりカレンダーIDを取得する必要があります。Googleカレンダーは用途ごとに分類してカレンダーを作ることができるので、どのカレンダーなのか判別するためにカレンダーIDを使用します。

カレンダー画面の対象カレンダーのメニューより「設定と共有」に進み、●●●@gmail.comもしくは、〇〇〇@group.calendar.google.comのような形式のカレンダーIDをコピーして、ソースコードの●カレンダーID●の箇所に貼り付けてください。

1112-calendar-test

カレンダーIDを貼り付けたら、▶マークを押してスクリプトを実行します。これでカレンダーの予定がスプレッドシートに表示されているはずです。カレンダーIDを取得したカレンダーに予定がない場合は予定を入れてから実行してください。

1112-caltoss

D列の所要時間については、hh:mmのように時と分がともに2桁表示されると見栄えが良いです。このように表示させるために、スプレッドシートの表示形式 > 数字 > 表示形式の詳細設定 > その他の日付や時刻の形式より表示のカスタム設定を行ってください。

1112-custom-time

ここまでで、Googleカレンダーの予定をスプレッドシートに一覧表示させる方法は完成です。

スクリプトの実行を自動で行う

カレンダーを更新するたびに実行ボタンを押すのは大変なので、カレンダーの更新をトリガーとして、スクリプトが実行されるように設定してみます。

時計マーク(青の箇所)をクリックして、トリガーの設定画面に進みます。

1112-caltoss

「トリガーを追加」をクリックして、次のように設定します。「カレンダーオーナーのメールアドレス」には、先ほど貼り付けたカレンダーIDを入力してください。

1112-triger

設定を保存したら、カレンダーの予定を編集してみてください。変更した内容がスプレッドシートに自動で反映されているはずです。

設定を見てわかるように、一定時間ごとのスクリプト実行や、スプレッドシートの起動や編集もトリガーにできるので用途に合った設定をしてみてください。

 

なか見!検索、立ち読みで内容確認できます。