Microsoft Flowを利用してGoogleスプレッドシートのセルを利用したメール通知をする

Web連携サービスを使ってみる

昨日使い始めたWeb連携サービスと今まで個人的に使ってきた手動やることスプレッドシートを利用して毎日タスクをやっていない場合にメール通知をさせるための設定です。

Advertisement

Microsoft Flowを使える状態にする

すでに使える状態になっていると思いますが、使える状態になっていない場合は記事を参考に使える状態にしてください。
今回はすでに使っているMicrosoft Flowを使います。Google スプレッドシートとメール通知に対応しているWeb連携サービスならどれでも良いです。

フローを作る

テンプレートがあればいいですが、おそらく無いので(詳しくは調べていませんが)一から作成します。
新規→一から作成を選択して作ってください。

毎日一回実行させるためにスケジュールを利用する

毎日22時にチェックさせたいので、トリガーとしてスケジュールを利用します。
組み込みからスケジュール、繰り返しを選択してください。
間隔を1日、詳細オプションからタイムゾーンを日本にして設定時刻(時間)を22時、設定時刻(分)を0分に設定しました。

Google スプレッドシートから行を取り出す処理を追加

毎日やるタスクを行ったらC2セルに今日の日付に手動で書き換えるということをしているので、C2セルを取得したいわけです。
スプレッドシートで検索し、一行を取得を選択してログインします。セルを直接取得するアクションはなさそうです。
ファイルとワークシートを指定してください。今回の場合行IDにはD2と指定しました。行IDに関しては次に書きます。

行IDを追加

先程指定したスプレッドシートに__PowerAppsId__という列が追加されています。
Microsoft Flowを使いたいのならば__PowerAppsId__が追加されるのはおそらくしょうがないので諦めてください。
__PowerAppsId__の列と利用したい行に当たるセルに適当なIDをつけます。今回の場合C2セルを取得したいのでD2にIDをつけます。
そして先程の行IDにそのIDを指定します。

こんな感じです。(わからない)

Microsoft FlowにあるGoogleスプレッドシートのUpdate Row/Get Rowの使い方

まぁこちらの記事をご覧ください。

条件アクションを追加

条件と検索してアクションを追加してください。
左側には動的なコンテンツから取得したいセルの列IDを指定します。
例えば私は日付列のセルが必要なので動的なコンテンツから日付を指定します。
これで指定ファイル内のワークシート内の指定行IDの行の日付列にあるセルの中身が利用されます。(頑張って理解してください)
判定は次の値に等しくないを指定します。
右の条件には式、

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'), 'dd')

を入力します。
この式によって、日本時間に変換されたタイムスタンプから日付のみ取り出せるはずです。
この式は、

こちらの記事を参考にしました。
というかほぼコピーです。

はい側にメール送信アクションを追加

条件が合ったときに実行させるのではい側にメールを送信するアクションを追加します。
本音を言えばDiscordなどに通知を送りたかったですが、出来なそうなので素直にメール通知にしました。
もちろん、メール通知ではない通知方法にしたいのならばそれでも構いません。
私はOutlook.comのメール送信を利用しました。
送信先と件名、内容を記述して完了です。
初回送信時などにアカウント認証などを求められるかもしれません。その場合は認証してください。

Advertisement

一応テストしてください。
私は全くわかってない状態からとりあえず動かしまくったので15回ぐらい失敗しています。
素直にGoogleスプレッドシートからセルを取り出せれば簡単なのに・・・まぁこれで私の毎日タスクを忘れることがなくなったわけです。
毎日タスクをやったらその下にある日付指定タスクも忘れなくなるのでこれで完璧な人生を送れるわけです。