きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

【Tips】自分以外がスプレッドシートを更新したらメールで通知を受ける

ブログメンタリングのために定期的にKPIを取得するスクリプトを組んで、スプレッドシートに値を設定するようにしました。

ただ、値を設定したスプレッドシートのURLを忘れたり、ブログメンタリングの期間が終わって更新されたことに気づけないこともあるでしょう。
それに、情報はpull型ではなく、push型で組んでおく方が個人的な好みです。

なので、Googleの提供するSaasだし、そういう機能が無いか探しました。
少し違いましたが、ありました。

ゴール

  • 他者によって更新されたらメール通知を受け取る

ゴールの詳細


自分以外が更新した時に限る。
認可されて実行する必要があるので、トリガーと言えど操作ログとしては自分になります。

なので、Googleの公式機能でトリガーの更新に気づきたい場合は、下記処理で他者からトリガーを実行すれば検知できそうです。
ただ、結局のところユーザを追加しなきゃいけないので、仕事で使用するのお金の関係で難しいかと…。

  1. トリガー用(バッチ用)のGoogleユーザを作成する
  2. 作成したユーザを検知したいスプレッドシートと共有する
  3. 作成したユーザでトリガーを実行する

公式ヘルプ

support.google.com

設定方法

公式ヘルプを見れば簡単です。
私の手順は画像を付けただけです。

f:id:nainaistar:20201004105702p:plainf:id:nainaistar:20201004105715p:plainf:id:nainaistar:20201004105726p:plain
メール通知の設定方法

設定も特に難しいことはありません。
ただし、自分で加えた変更は通知されないことは仕様です。

もし、自分以外の誰かが更新すると、メールが来て更新と更新差分を教えてくれます。

下記公式ヘルプの文言。

通知は自分用にのみ設定できます。スプレッドシートに自分で加えた変更については通知されませんが、他のユーザーが加えた変更については通知が届きます。

f:id:nainaistar:20201004105825p:plain
通知メール

更新差分の箇所が紫色の背景色に変わっているので、とても見やすいです。

f:id:nainaistar:20201004105830p:plain
更新差分

また、実際のスプレッドシートがこの背景色になっているわけではないです。

f:id:nainaistar:20201004105838p:plain
実際のスプレッドシート

終わりに

スプレッドシートをオンラインで触れるExcelとしか使っていないので、多くの知らない機能があります。
調べてませんが、Office365でも同じような機能はありそうですね。

なんでもかんでも通知ルールをつけるとめんどくさいのでやりませんが、課題管理表・障害管理表等にルール設定すると便利になりそうです。

日々の仕事を快適にしていきたいです。


なお、サクっとGASからSlackに通知する機能は作れたので、ソースコードにプルリクエスト出してマージしていただきました。
これで、スクリプト側からpushしてもらうことができるぜ。 github.com


もしこの記事が役に立ったのであれば、はてぶ、Twitterでの記事の拡散、Twitterのフォローもよろしくお願いします。

私の励みになります。

類似記事

nainaistar.hatenablog.com