見出し画像

【PowerAutomate】週次の定型メールを自動送信

概要

定型文のメールを毎週送る謎作業を、PowerAutomateで自動化してみました。

対象プロセスの整理

  • タイミング:毎週金曜日16時(祝日の場合の取り決めなし)

  • 送付先:毎回同じ(社内のみ)

  • 送付元:毎回同じ(個人アカウントのメールアドレス)

  • 件名:【○○通知】2022/05/07~2022/05/13
    ※前週の土曜日と、今週の金曜日(=送付当日)を、yyyy/mm/ddで表現

  • 本文:毎回同じ
    ※かつては「新規○件、変更○件」みたいな記載をしていましたが、しれっとやめました。
    ※参照してもらうファイル名も本文に記載していましたが、しれっとやめました。実際のファイル名の日付ではなく、「ファイル名_yyyymmdd.xls」とすることで固定化できました。

PowerAutomateに変換

繰り返しの設定

開始時刻の書式は、下記の通りです。

2022-05-01T16:00:00Z

未来日から実行開始するわけではないので、過去日で、書式が合っていればなんでもいいと思います。

日付処理用の変数の宣言

件名に記載する日付を処理するための変数を宣言します。
値には、それぞれ下記の式が入力されています。

Date1(起点日=前週の土曜日)

formatDateTime(convertTimeZone(addDays(utcNow(), -6), 'UTC', 'Tokyo Standard Time'), 'yyyy/MM/dd')

Date2(終点日=今週の金曜日=送信当日)

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

Date2は、ゼロ埋め・スラッシュ区切りで今日の日付を表現する式です。月は大文字のMMです、小文字のmmだと分になるため。

Date1は、同じ書式で「今日の日付から6日前」を表現しています。Date2の式のutcNowを、addDaysで-6しただけです。送信日は必ず金曜日なので、6日前は土曜日になります。

メール送信

件名に、先ほど宣言した変数Date1・Date2を入れています。

なお、メール送信時にOutlookの署名は付加されないので、必要に応じて追記しておきましょう。署名設定を自動取得して付加する方法があるかも。

まとめ

  • 件名の日付の処理は、Excelなどと違う関数を使う必要があるので、ちょっと面倒でした。

  • 定期的なメール送信の仕組み自体は、驚くほど簡単です。RPAの真骨頂を感じました。

  • 自部署の作業工数は限りなくゼロに近づけることができましたが、会社全体でのムダ(と思われる)作業が減っていないのは心残りです。

  • 16時ちょうどではなく、ランダムで数分遅らせる仕組みも作ってみようと思います。人間のあたたかみをプラス。

補足

作成したフローが私のアカウントに紐づいており、チームメンバーへの共有やエクスポートが現プランだとできませんでした。

つまり、私が現職を去る時は、他メンバーのアカウントで同じ仕組みを作ってもらう必要があります。



#メール #メール送信 #PowerPlatform #PowerAutomate #効率化 #自動化 #オートメーション #エンジニア

いつも図書館で本を借りているので、たまには本屋で新刊を買ってインプット・アウトプットします。