Power Automateについて詳しく解説します
- 特定のメールがきたら何らかの処理を自動実行したい
- メールがきた際の処理には、どんなものがあるのか?
- お金をかけずに定期的に実行する方法はあるの?
当記事では、上記の疑問にお答えします。
OutlookやGmailでは設定次第で、メールを別のフォルダへ仕分けしたり休日には自動返信できたりします。
しかし、Power Automate Desktopを使っているなら上記以外の処理もできたらなぁと思っているのではないでしょうか。
そこで当記事ではPower Automate Desktopを使って特定のメールを受信した際にできる処理を一例としてまとめましたので、ぜひ一度読んでみてください。
【完全版】Power Automate Desktopでメールを自動化する全方法
目次
著:やまもとてつや
Tipstour初の電子書籍化! 37歳で初の正社員となりITヘルプデスクとして勤務中の著者が、Power Automate Desktopを使った8つのメール作業・自動化事例とその方法を本書でご紹介しています。 これを読めば、ヘルプデスクの担当者はもちろん、WindowsPCで作業するすべてのワーカーの面倒なメール作業を自動化可能です。 Kindle Unlimitedで読み放題対象! |
【前提】特定のメールを処理するならメッセージの取得アクションを使う
Power Automate Desktopを使えば特定のメール受信をトリガーにして、様々な処理が自動化可能です。
どのメールを処理するかは、メッセージの取得アクションを使用します。
Outlookであれば、Outlookアクション欄にあるOutlookからメールメッセージを取得。
Outlook以外であればメールアクション欄にあるメールメッセージの取得です。
自動化できる処理には、
- 特定のメールがきたら削除
- 常に特定のフォルダに移動
- 添付ファイルにマクロを実行する
などがあります。
また、ループを使えば上記の処理を擬似的に定期実行することも可能です。
メールの取得方法については、下記の記事をお読みください。
メール受信をトリガーにしてできる処理まとめ
では、メール受信をトリガーにしてできる処理をいくつかピックアップしてみます。
【方法①】特定のメールを完全削除する
特定のメールを受信したら完全削除してみましょう。
OutlookやGmailなら設定でゴミ箱フォルダに入りますが、Power Automate Desktopで設定するとゴミ箱フォルダにもいかずに完全に削除可能です。
つまり、ゴミ箱を空にする手順がなくなります。
Outlookであればメールメッセージを取得後、Outlookでメールメッセージを処理で操作をメールメッセージを削除しますを選べば実現できます。
Outlook以外なら、メールメッセージの処理にある全般設定で操作をサーバーからメールメッセージを削除しますにすればOKです。
ただし、完全削除なので間違ったメールを削除してしまうと二度と復活できません。
必ず取得しているメールが問題ないかを確認した上でフローを起動してください。
【方法②】特定のメールを受信したらメッセージを表示させる
特定のメールを受信したら、メッセージを表示させてみましょう。
取得後に、ifを使えばメッセージ通知の有無も設定可能です。
以下のメールを使ってみます。
まず、メールが来たかどうかについては該当するメールが1通以上あるかどうかで判定します。
条件アクション欄にあるifをメールメッセージの取得後にドラッグ&ドロップしてください。
画面が変わったら、最初のオペランド欄にあるアイコンをクリックしましょう。
さらに画面が変わるので、RetrievedEmailsの>をクリックすると下に.Countと表示されるのでクリックしてください。
最初のオペランド欄に%RetrievedEmails.Count%と入力されます。
あとは、次に演算子欄は以上である(>=)を選択し、2番目のオペランドに1を入力して保存します。
これで該当メールが1通以上あれば、メッセージが表示されるようになります。
ifの設定ができたら、ifとEndの間にメッセージボックスアクション欄からメッセージを表示をドラッグ&ドロップしてください。
画面が変わります。
以下のように入力してください。
- メッセージボックスのタイトル:メールだよ
- 表示するメッセージ:メールだよ
- メッセージボックスアイコン:情報
- メッセージボックを常に手前に表示する:オン
入力が終わったら、フローを実行しましょう。
メッセージが表示されました!
基本のフローは以下になります。
このフローをもとに色々組み立ててください。
【方法③】添付ファイルを開き、マクロを実行してから保存する
Power Automate Desktopでは、Excelファイルに仕込んだマクロを起動することも可能です。
Power Automate DesktopのExcelアクションは豊富ですが、細かい処理までは自動化できません。
そこで細かい処理はマクロで行い、大まかな処理だけはPower Automate Desktopに自動化させてみましょう。
考えられる処理としては、常に同じ内容のExcelファイルが送られてきたら処理を自動実行し自分のデスクトップに保存するというフローです。
以下のメールをもとに実際にやってみましょう。
このメールの添付ファイルにはTestという名前のマクロが仕込んであります。
セルB2に、ほげほげと表示させるだけのシンプルなマクロを作りました。
想定するフローは以下になります。
- 添付ファイルをデスクトップに保存
- 添付ファイルを起動させる
- マクロを実行する
- 閉じる
まずは添付ファイルを保存します。
メール取得時の設定で、メールフィルターにある添付ファイルを保存します欄を添付ファイルを保存しますに切り替えてください。
直下に添付ファイルを次に保存欄が表示されるので、フォルダアイコンをクリックしてデスクトップを指定して保存します。
次にExcelアクションからExcelの起動をドラッグ&ドロップしてください。
以下の画面が表示されます。
以下のように入力してください。
- Excelの起動:次のドキュメントを開く
- ドキュメントパス:デスクトップに保存したときの添付ファイルのフォルダパス
- インスタンスを表示する:オン
次にExcelアクションの詳細をクリックし、Excelマクロの実行をドラッグ&ドロップします。
画面が切り替わったら、マクロ欄にマクロ名を入力してください(Testです)。
これでファイルに仕込んだTestマクロが起動します。
最後にExcelを閉じるをドラッグ&ドロップしましょう。
画面が変わったら、何もせずにそのまま保存してください。
ここまでできたらフローを起動してみましょう。
下記画像が私のデスクトップ画面です。
この状態でフローを実行すると、下記のようになります。
ファイルの中もチェックします。
添付ファイルのマクロを起動できました!
ここまでのフローは下記になります。
応用次第で、処理後のファイルを添付してメールを送ることも可能ですよ。
【応用】ループを使って特定の処理を擬似的に自動実行する
当記事のフローは、ループを使えば擬似的な自動実行も可能です。
方法②を使って自動実行させてみましょう。
ループアクションにあるループ条件を一番上にドラッグ&ドロップします。
画面が変わります。
最初のオペランドと2番目のオペランドそれぞれに1を入力して保存してください。
これでループ条件内の処理を常に処理し続けるので、自動実行になります。
ループ条件とEndの間に作成したフローを移動させましょう。
しかし、このままだとフローを起動させている間は常にメールを探し続けるのでGmailのサーバーに負荷がかかります。
そこで次の処理をループさせる前に処理を一時停止させる必要があります。
ループ条件のEndの上に、フローコントロールアクション欄にあるWaitをドラッグ&ドロップしてください。
画面が変わります。
ひとまず1分待ちたいので、60と入力して保存しましょう。
この状態でフローを起動すると、1分待ってから次の処理に進みます。
擬似的に自動実行できました!
今回のフローは下記になります。
まとめ
以上、メール受信をトリガーにして実行できる処理をまとめました。
メッセージの削除から添付ファイルのマクロ起動など3つ処理を解説しました。
どれも自動化できると効率的なので、ぜひご自身の状況にあわせてフローを改善しつつ試してみてください。