Power Automate Desktop実行結果・実行時間をメールで通知する方法【PAD】

Power Automate Desktop

Power Automate Desktop実行完了時に実行結果・実行時間をメールを送信する方法について解説します。

PADで定期実行している場合や、時間のかかるフローを実行している場合、フロー実行が完了したらメール通知でお知らせできるようになると便利ですし、先日公表された「Picture-in-Picture」で実行してて、終わったらメール通知が来るようになれば作業効率も上がりそうです。

【前提】メール送信はOutlookで行う

本記事で紹介するメール送信方法は、Outlookでメール送信をする方法になります。

フロー全体

まず、フロー全体は以下のようになります。以下のフローではファイルの移動を行い、それが成功したかどうか、実行にかかった時間についてメール通知するようにしています。

VBScriptの実行

まず、実行時間を計測するために「VBScriptの実行」アクションを追加します。

追加するアクション

VBScriptの実行

1行目の「VBScriptの実行」には、以下コードを入力してください。

Dim startTime, endTime, executionTime

' 開始時間を記録
startTime = Timer ' 現在の時間を開始時間として記録

WScript.StdOut.Write(startTime)

6行目の「VBScriptの実行」には、以下コードを入力してください。

' 終了時間を記録
endTime = Timer ' 現在の時間を終了時間として記録

' 実行時間を計算
executionTime = endTime - %VBScriptOutput%

' 分と秒に分解
minutes = Int(executionTime / 60)
seconds = Int(executionTime Mod 60)

' 実行時間を〇分〇秒の形式に整形
executionTimeFormatted = minutes & "分" & seconds & "秒"

' 実行時間を格納
WScript.StdOut.Write(executionTimeFormatted)

なお、VBScriptの実行に関しては、以下記事にて詳しく解説しています。

ラベルの作成

フローの途中でエラーが発生したときの遷移先を「ラベル」で設定します。

追加するアクション

ラベル

変数の設定

5行目までフローが進んでいるということは、ブロック(紫で囲まれた中の処理)でエラーが発生せず処理されたことが分かります。そこで、「変数の設定」にて値に「成功」を割り当てます。

追加するアクション

変数の設定

※失敗時は、別の場所で「失敗」を割り当てます(後述します)。

ブロックエラー発生時の設定

2行目・4行目にて、ブロックエラー発生時の設定をしています。

追加するアクション

ブロックエラー発生時

ブロック内でエラーが発生したときに、どのような対応を取るか設定しています。今回であれば、ブロック内の処理に失敗したら、ステータスを「失敗」にしてメールを送信したいので、以下のように設定します。

  • 変数 MailMsg に「失敗」を設定
  • 「フロー実行を続行する」を選択
  • 例外処理モードを「ラベルに移動」、ラベルの選択は「メール送信」に設定

Outlookの起動

7行目で、Outlookを起動します。

追加するアクション

Outlookを起動します

Outlookでメールの送信

9行目で、メール送信を行います。

追加するアクション

Outlookからのメールメッセージの送信

「アカウント」にはメール送信に使用するアカウント、「宛先」にはメール送信先のメールアドレスを入力してください。

本文には、

PAD実行完了通知
実行結果:%MailMsg%
実行時間:%VBScriptOutput2%

と入力します。

実行結果

フロー成功時

フロー失敗時

本フローはファイルを移動させるだけなので、実行時間が1秒となっていますが、Webページのスクレイピング処理や、データ量の多いExcelの処理などは時間がかかるものもあると思います。

実行時間を測定することで、大体どのくらいのデータ量でどのくらい時間がかかっているかを把握することができ、フローのリファクタリング時の効果測定などにも使えると思います。

まとめ

今回は、Power Automate Desktop実行完了時に実行結果・実行時間をメールを送信する方法について解説しました。

基本的に、掲載したフロー全体のうち3行目(ブロックエラー~Endのあいだ)にアクションを追加することで、実行結果と実行時間をメールで通知できるようになりますので、ぜひ参考にしてみてください。

当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、結婚後はパートタイムでエンジニアをしています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

タイトルとURLをコピーしました