概要
定型文のメールを毎週送る謎作業を、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時ちょうどではなく、ランダムで数分遅らせる仕組みも作ってみようと思います。人間のあたたかみをプラス。
補足
作成したフローが私のアカウントに紐づいており、チームメンバーへの共有やエクスポートが現プランだとできませんでした。
つまり、私が現職を去る時は、他メンバーのアカウントで同じ仕組みを作ってもらう必要があります。