【GAS】GoogleCalendarからイベントをスプレッドシートに取得→スプレッドシート上で編集してカレンダーに反映させる

gas

私の勤める会社では、GoogleCalendarで日々の行動、予定を共有しています。

この共有自体は非常に便利ですし、とやかく言うことはないのですが、最近、「予定に対する報告をカレンダーの説明欄に書き込まなければならない」というルールができてしまったのです。

もちろんカレンダーの予定と紐付けして報告を書き込むことは理にかなっていますし、出先でカレンダーを開いて、移動中などにパパッと書き込むことができるのは大変便利です。
ただ、場合によっては報告が非常に長くなりますし、1週間分の報告を一度にまとめて編集、整理したい、という時もあります。そんな時は「1予定ごとにカレンダーを開き、報告を書いたり修正していく」のは非常に手間がかかりますし、非効率的です。
毎日細かく書いていればそもそもそんなことにはならないだろ!と言うのは無しです・・・

そこで、GoogleAppsScript(GAS)の機能を使って
1.スプレッドシートにカレンダーの情報を読み込み内容を表示
2.スプレッドシート上で読み込まれた内容を編集
3.編集した内容をカレンダーに反映

という操作ができるようなスクリプトを組んでみました。

メリットとしては、
・全てスプレッドシート上で完結できる
複数の日程をまとめて取得できるので、他の予定を見ながら報告を書ける
 (Googleカレンダーでは他の予定を見ながら、、というのは難しいかと)
・他日程からコピペで内容を取ってこれる(重要)

といった点が挙げられるかなと

デメリットは
・プログラミング独学3日目の私が組んでみたガバガバプログラムだと言うこと
・そのため、現状では予定のタイトル、場所、説明欄しか編集できないこと
 でしょうか。
現状では、あくまで説明欄の記述修正特化のものだと思っていただければと思います。

スクリプト紹介
以下、スクリプト紹介です。めちゃくちゃ修正・効率化すべき箇所が多いと思うのですが、勘弁してください。

スプレッドシート
このような画面を用意しました。
D2に自分のメールアドレス
D3に取得開始日を
D4に開始日から何日分の予定を取ってくるか をそれぞれ記入します。
エクセル画面
前述の通り、まだ編集できるのはタイトル、場所、内容だけですが、内容を記入する上での助けになるので、日付や時間も表示するようにしています。

スクリプトエディタ
下記、稚拙ながら書いてみたコードです。一応動きますし使えますよ!


課題は下記の3つ

・参加者の名前をうまく取得したい(現状ではEmailでの取得になっている)
・時間帯や参加者も修正できるようにしたい(現状ではタイトル、場所、内容のみ)
・スプレッドシートに追加したイベント、削除したイベントもカレンダーに追加したい


これらが実現できれば、ある程度汎用性も出てくるはず・・・
現状では内容説明の修正にのみ特化していますので、のんびり改良していきますー

コメント

タイトルとURLをコピーしました