はじめに
お疲れ様です。
業務において、週次報告書の提出など毎週金曜に実施する作業はよくあるかと思います。
私はこの作業をちょくちょく忘れてしまうことがあります、、、
そこで、リマインダーを設定することにしました。
Slackなどを使えば毎週金曜にリマインドを飛ばせますが、
社内・部署内で活用していないこともあるかと思います。
その場合、MicrosoftのPower Automateを活用したリマインドをオススメします。
Slackなどでの毎週のリマインドより優れている点として、
Outlook上での休日を考慮したリマインドを送信できる
点が挙げられます。
例えば、金曜が休日の場合には木曜に、木曜も休日の場合には水曜にリマインドを送りたいですよね。
その辺りを考慮してリマインドを送信できるのが、ここで紹介する内容の利点です。
ただ、最後に記載した通り、Outlook上で「日本の休日」とされている日のみ休日として認識できます。
その辺りはご注意ください。
詳細は以下の通りです。
フローの全体図
今回使用する全てのブロックです。
見にくくて申し訳ないですが、一旦下図のブロックを作成してもらえれば、
あとは空欄を埋めていくだけです。
ブロック名を変更していないため、「新しいステップ」を押して各ブロックに含まれる文字列を検索していただければ、該当ブロックがサジェストされます。
処理内容の説明
具体的にどのような処理をしているかについては、下図を参照してください。
上図の名前を変更し、各ブロックの処理を分かりやすくしてみました。
1. フローの作成
まず、Power Automateを起動し、フローを作成します。
続いて、各ブロックの設定事項を上から順に説明します。
2. 初期設定部の設定
3. 平日カウント部の設定
少し長めですが、ループ部分です。
「算出時間」という動的コンテンツは、「「現在の時刻」を1日増やす」の出力結果です。
「現在の時刻」の日付自体に変更は無いため、
ここで開始時刻&終了時刻として設定すると上手くいきません。
人によってはここで沼にハマるため、ご注意ください。
条件文の「empty(...)」には、
empty(outputs('イベントのカレンダー_ビューの取得_(V3)')?['body/value'])
と記載してください。
4. リマインド処理部の設定
フロー実行日から土曜日までの間に含まれる平日が1日である場合、
Outlook上でリマインドを送信します。
条件文の「remainW...」には
valiables('remainWeekdays')
と記載してください。
以上で完成です。
フローのテスト実行
実行結果をすぐに確認したい方は、
下図の赤枠で囲まれたボタンを押してテストをしてください。
木曜日にテストを行った結果、下図のとおりにメールを受信しました。
(remainWeekdaysの値が2の場合にもリマインドを送るよう変更したため、
メールが飛んできています。)
残りの平日は2日となっていますが、翌日(金曜日)がoutlook上で祝日とされている場合は、残り1日と表示されます。