【Power Automate】自動化したクラウドフローでメール添付ファイルを自動保存

Power Automate
この記事は約9分で読めます。

※本記事は、Power Automate基礎習得パス(#PA基礎)の第4弾です。


自動化したクラウドフローでは、「メールを受信したタイミング」等、設定したイベントが発生すると自動でトリガーされるフローです。


特定の差出人から来たメールの添付ファイルを自動保存するフローを作成しながら、Power Automateの基本をマスターしましょう!


今回解説する「条件分岐」は、「添付ファイルがPDFだった場合」や「添付ファイルが画像ファイルでなかった場合」など、条件によってフローの実行結果を変更することができる、とても便利な機能です。

この記事でわかること
  • 3種のフロー (自動化 / スケジュール / インスタント) の内、「自動化したフロー」の利用方法
  • 条件分岐の利用方法



作成するフローの内容

本記事では、下記のフローを作成します。
※保存先のフォルダはOneDriveフォルダを利用します

自動化したフローで、差出人が特定の人物かつ添付ファイル付きのメールを受信したらOneDriveフォルダに添付ファイルを保存


 

フロー全体のショット

今回作成するフローはこのような形です。


 

事前準備

OneDrive内に、添付ファイルを保存するためのフォルダを用意してください。


 

自動化したクラウドフローを作成してみよう

「メールを受信したタイミング」等、決まったイベントでフローを実行させたい場合、「自動化したクラウドフロー」を利用します。
Power Automateの「作成」ボタンより、「自動化したクラウドフロー」を選択しましょう。



下記画面で設定を行います。

  1. フロー名をつけます。
  2. 「Outlook」で検索をし、「新しいメールが届いたとき」を選択します。
    ※バージョン(V)が複数存在する場合は、一番最新のものを選択してください。

Outlook.comとOffice365 Outlookの選択を間違えないように気を付けてください。



設定が完了したら、「作成」ボタンを押して編集画面に進みましょう。

「新しいメールが届いたとき」の設定

編集画面に遷移したら、下記条件に絞ったメールでのみフローを実行するため、詳細を設定していきましょう。



「新しいメールが届いたとき」上をクリックしましょう。



下記画面で詳細を設定していきます。

  1. 差出人
    特定の差出人からのメールのみ、フローを実行するかを設定できます。
    本フローでは、特定の差出人の場合にフローを実行するため、対象の差出人のメールアドレスをカスタム値として入力します。
     
  2. 添付ファイルを含める
    Power Automateが取得する情報に添付ファイルの情報を含めるかの選択です。
    本フローでは「はい」に設定します。
     
  3. 添付ファイル付きのみ
    受信したメールに添付ファイルがある場合のみ、フローを実行するかを設定できます。
    本フローでは「はい」に設定します。



 ※「新しいメールが届いたとき」の詳細設定方法は以下を参考ください。


 

「条件」アクションの追加

本フローでは添付ファイルが画像以外の場合、フォルダに自動保存します。



条件分岐が必要のため、「条件」アクションを追加します。
編集画面の「+」ボタンより「アクションの追加」を選択しましょう。



「Control」をクリックします。



「条件」を選択します。



「条件」アクションでは、3つの項目を設定する必要があります。

  1. 比較する値
  2. 演算子(等しい・等しくない・含んでいる・含んでいない 等の条件のこと)
  3. 比較する値



「添付ファイル名に jpgという文字が 含まない場合」という条件で3つの項目を当てはめると、このような形になります。

  1. 比較する値 → 添付ファイル名
  2. 演算子 → 「含まない」
  3. 比較する値 → jpg


 

条件設定① 添付ファイル名

まずは、「添付ファイル名」を設定していきましょう。


「新しいメールが届いたとき」のトリガーでPower Automateが取得する添付ファイルの情報をフローで利用する場合は、「動的なコンテンツ」を利用します。
動的なコンテンツより、「添付ファイル 名前」を選択します。

項目が見つからない場合は、「表示数を増やす」をクリックしてください。



※動的なコンテンツの仕組みについては、下記の記事に詳しく記載しています。


 

条件設定② 演算子「〇〇を含まない」

続いて演算子を設定していきましょう。
「含まない場合」としたいので、ドロップダウンより「does not contain」を選択します。



ちなみに、分岐条件で利用できる演算子一覧は下記の通りです。

演算子意味
contains含んでいる
does not contain含んでいない
is equal to等しい
is not equal to等しくない
is greater thanより大きい
is greater or equal to以上
is less thanより小さい
is less or equal to以下
starts with~で始まる
does not start with~で始まらない
ends with~で終わる
does not end with~で終わらない


 

条件設定③ 画像の拡張子「jpg」

添付ファイル名に「jpg」という拡張子が入っているかどうかを判定したいため、「jpg」と手入力します。


 

条件の追加

画像の拡張子で代表的な物として、他に「png」や「gif」があります。
こちらも条件の判定基準に追加するため、「New item」より行を追加しましょう。



jpgの時と同様に条件を設定します。完成形はこんな形です。


 

「拡張子が PDF もしくは docx (word) の場合に添付ファイルを保存したいな」、といったように「OR」で条件を指定する場合は赤枠部分を「OR」に変更してください。


 

「添付ファイルの取得」アクションの追加

条件に合致するメールの添付ファイルの場合、「添付ファイルの取得」アクションで添付ファイルの情報を取得しましょう。
 

「あれ?最初のトリガーで添付ファイルの情報を取得できたのではないの?」と思う方もいるかもしれませんが、このアクションのおかげで文字化けすることなくファイルをフォルダへ保存することができるようになります。


「True」直下の「+」アイコンよりアクションの追加をします。



「Office 365 Outlook」のコネクタを選択します。

Outlook.comとOffice365 Outlookの選択を間違えないように気を付けてください。



「添付ファイルの取得」を選択します。



「メッセージID」では、動的なコンテンツより「メッセージID」を選択してください。



「添付ファイルID」では、動的なコンテンツより「添付ファイル 添付ファイルID」を選択します。


 

「ファイルの作成」アクションの追加

最後に、「ファイルの作成」アクションを追加します。
メールの添付ファイルをそのまま保存する、というよりは、メールの添付ファイルをそっくりそのままコピーしてOneDriveに格納する、というのが厳密な流れとなります。


前ステップ同様、「+」ボタンの「アクションの追加」をクリックしたら、OneDrive for Businessを選択します。

OneDrive(個人用)とOneDrive for Business(組織用)の選択を間違えないように気を付けてください。


 
「ファイルの作成」アクションをクリックします。



「フォルダーのパス」では、フォルダアイコンより対象の保存先フォルダを選択します。



「ファイル名」では動的なコンテンツより「添付ファイルの取得」内にある「名前」を選択します。

「新しいメールが届いたとき」内にある「添付ファイル 名前」を選択してもOK。



「ファイルのコンテンツ」では動的なコンテンツより「添付ファイルの取得」内にある「コンテンツのバイト数」を選択します。


 

フローの保存とテスト

以上でフローの編集は完了です。保存をして、テストを実行します。
「自動化したクラウドフロー」の場合、他2種類のフローと異なり、ただテストの「実行」ボタンを押すだけではフローが終了しません。


テスト実行ボタンをクリック後、左上の案内通り、トリガーで指定したイベントを発生させる必要があります。
今回の場合は、添付ファイルつきのメールを受信することでテストが実行されます


Outlookにて、自分宛てに添付ファイルを付きメールを送信してみましょう。
※メールの添付ファイルは、画像ファイル (jpg、png、gif) のものと、それ以外のファイルをどちらも添付し確認してみてください。




テストに成功したら、対象ファイルが指定したフォルダに保存されたことを確認ください。