[管理者必見]GoogleスプレッドシートからGoogleカレンダーへ登録する方法

のえる のえる 2019.07.01

Googleのスプレッドシートで様々な情報を管理できる時代。

 

より効率よく使いたくありませんか?

 

例えば飲み会の出欠確認や出費計算など、日付とデータを紐づけて扱いたい時にはGoogleスプレッドシートとGoogleカレンダーの連携ができるととても便利です。

 

今日はそんな、痒いところに手が届く方法を書いていきます。

事前準備

今回の準備は下記のものです。

 

  • Googleアカウント

 

たったこれだけですね。

スプレッドシートを作る

まずはスプレッドシートを作成していきましょう。

 

今回はこんな感じのサンプルを用意しました。

 



 

必ずこれである必要はありませんが、あくまでサンプルはこれを使用します。

スクリプトを書く

上記のようにスプレッドシートが用意出来たら 「ツール」 -> 「スクリプト エディタ」 を選択しましょう。

 

Google Apps Scriptの画面が表示され、下記のようなプログラムが記載されていますが、全部削除します。

 

 

削除が完了したら、下記の命令をコピーしましょう。

 

 

ここまで記載できたら、ツールバーの 「実行」 -> 「関数を実行」 -> 「createEventFromSheet」 を選択します。

 

この時、モーダルでGoogleのログインを求められることがありますので、その時は登録するカレンダーを持つアカウントでログインしましょう。

 

うまく実行できれば、カレンダーを表示し、下記のようになっていれば成功です。

 



 

ここで大事なポイントは セルの値を取得する命令が複数ある というところでしょうか。

 

「getValue」で取得すると中身の値が、「getDisplayValue」で取得すると表示されている値が取得されます。

 

取得するものが異なる時は、改めて見直してみると良いポイントです。

 

また、その他の命令等については こちらの公式ドキュメント を参照してみてください。

スプレッドシートの変更を検知して自動化する

続いて、スプレッドシートの値が変更された時、自動でカレンダーに反映するようにしてみましょう。

 

Google Apps Scriptsの画面にあるツールバーから 「編集」 -> 「現在のプロジェクトのトリガー」 を選択します。

 

G Suite Developer Hubの画面が開いたら、右下にある 「トリガーを追加」 をクリックし、下記のような内容で登録しましょう。

 



 

登録が完了したら下記のようにリストが表示されます。

 



 

ここまで完了したら、スプレッドシートのスケジュールを追加してみましょう。

 

追加したデータでカレンダー登録されれば成功です。

さいごに

いかがでしょうか?

 

実はこのプログラムを実行したことがある人ならわかると思いますが、同一のイベントが複数回登録されることがあります。

 

そういう時はイベントを追加する前に対象のデータを削除する処理を入れておくと解決します。

 

この記事は最低限のことだけ記載していますので、もっと様々なものを自動化したい場合は、プログラムを作成されてみてはいかがでしょうか?

 

ではでは。

POPULAR

のえる

書いた人

のえる

Full-stack Developer / Guitarist