Power Automate 繰り返し処理をしながら一日一回だけ実行

為替レートが公表されたかどうかをメールで通知するフローを作ってみました。

Power Automate Webページの存在テスト

確認自体はできたけれど、これを定期的に実行し、なおかつ一回メールで通知したら、それ以降は通知しない仕組みが必要です。何度も通知メールが来たらたまりませんから。


繰り返し処理は容易

繰り返し処理は容易です。5分を指定すればそれで終わりです。

次の例ではタイムゾーンを指定していますが、開始時刻を使わないなら指定は不要だと思います。


メールを送ったらフローを無効にする

厄介だったのはメールを一回送ったらその日は送らないという仕組みです。

最初は、グローバル変数みたいなものを使って、最終実行日を記録し、次回実行時にそれをチェックして今日の日付なら送らない、という処理にしようかと思いました。

しかし、Power Autoamteでstatic変数みたいなものを用意できるのかどうか不明でした。

そこで検索してみたところ、予想外な方法が紹介されていました。それが実行しているフロー自体を無効にしてしまうというものです。

How to: Creating a “Run Once” Daily Trigger using Power Automate

なるほど、フローを無効にしてしまえば、次に有効になるまで二度とメールは送られることがありません。システムリソースも使わずに済みます。

条件に一致したら、メールを送信し、その次に自分自身のフローを無効にしてしまいます。


メール送信フローは別のフローで有効にする

無効にしたフローは、別のフローを使って有効にします。

次の例では、月曜から金曜の9時半にフローを有効化しています。

これで、9時半にフローを有効にしてチェックを開始し、メールを送信したら停止するという仕組みが用意できました。

なるほど!


フローを有効化する側のフローの間隔を調整すれば、1時間ごとに一回や一週間ごとに一回もできそうです。


コメント

アクセス数の多い投稿

セキュリティ対策ソフトのノートンが詐欺ソフトまがいになってしまってショック

ZIPファイルを開こうとすると、展開を完了できません、と言われる

Excel 2019 クエリが原因で日本語入力の一文字目が勝手に確定する

突然滅茶苦茶遅くなったPCがWindows Updateのキャッシュクリアで復活

Power Automate Desktopでブラウザでダウンロードしたファイルを処理する

Windows セキュリティーのビックリマークが消えない

Excel VBAからODBCを使ってデータを簡単に取得する

NEC Aterm WX5400HP をセットアップ

Teamsで日本語入力すると左上に変換ウィンドウが出る

オカムラ家具のOAチェアー、コンテッサを分解清掃