初心者向け|Microsoft Flowを使ってみる(5)メールの添付ファイル(ZIP)を自動ダウンロード&自動展開する


はじめに

  • Microsoft Flowを使ったシンプルなフローの作り方をまとめていきます。
  • これからFlowにチャレンジしてみようと考えている初心者向けです。
  • この説明は他の投稿(3)添付ファイルの自動保存、(4)ZIPの自動展開 を合体させたフローです。

参考:初心者向け|Microsoft Flowを使ってみる(3)メールの添付ファイルをOneDriveに自動保存する
https://qiita.com/Baru/items/34a0cf46db3b4b8c2ff0

参考:初心者向け|Microsoft Flowを使ってみる(4)フォルダにZIPが置かれたら、自動的に展開(解凍)する
https://qiita.com/Baru/items/e099b4addbf754ed04b8

設計

このフローの利用シーン

毎日、自動配信メールが届きます。
メールには前日の売上データ(ZIP)が添付されています。このデータの取り込み(保存&展開)を自動化します。

このフローの目的

ルーチン業務を自動化し、リソースを分析等の他の業務に割り当てる。

フローの作り方

作業時間

10~15分

(1)Flowの上部メニューで「マイフロー」→「一から作成」を選ぶ

(2)「多数のコネクタやトリガーを検索する」を選ぶ

(3)フロー名を設定。トリガーを選ぶ

フロー名
分かりやすい名前を付けてください。

トリガー
行動の起点を設定します。

(a)自動納品されるメールが届いたら、
(b)添付ファイルをダウンロードする。
(C)さらに、ZIPファイルなら展開(解凍)する。
(a)が起点です。トリガーとしては「Office365 Outlook」を選びます。

「Office365 Outlook - 新しいメールが届いたとき」
トリガー「Office365 Outlook - 新しいメールが届いたとき」を選んでください。

「Office365 Outlook - 新しいメールが届いたとき」の詳細

自動納品メールを特定するルールを入れてください。
今回は、宛先:[email protected]とします。

添付ファイル:はい
添付ファイルを含める:はい

「Apply to Eachの追加」
新しいステップ → さらに追加 →「Apply to Eachの追加」を選びます。

(4)「Apply to each」の詳細

遺残の手順から出力を選択
「添付ファイル」を選びます。

アクションの追加
添付ファイルをOneDrive上にダウンロードします。
コネクタ「OneDrive for Business」を選びます。

(5)「OneDrive for Business - ファイルの作成」を選ぶ

「OneDrive for Business - ファイルの作成」
アクションは「OneDrive for Business - ファイルの作成」を選んでください。

「OneDrive for Business - ファイルの作成」の詳細

添付ファイルをOneDrive上にダウンロードします。
フォルダーのパス:/download/を指定
ファイル名:名前
ファイル コンテンツ:コンテンツ

条件の追加
ダウンロードした上で、ZIPファイルかを確認します。
「条件の追加」を選びます。

(6)条件の詳細

条件
値の選択:表示名
条件:次のもので終わる
値:.zip

はいの場合
ZIPファイルの場合、展開(解凍)します。
アクションの追加より「OneDrive for Business」を選びます。

(7)「OneDrive for Business - フォルダーにアーカイブを展開します」の詳細

「OneDrive for Business - フォルダーにアーカイブを展開します」
「OneDrive for Business」を選んだら、アクション「OneDrive for Business - フォルダーにアーカイブを展開します」を選びます。

「OneDrive for Business - フォルダーにアーカイブを展開します」の詳細
ソース アーカイブ ファイルのパス:/download/を指定します。 ※「パス」にする
宛先フォルダー パス:今回は「/expand/」と指定しました。
上書きする:はい

※パスにする(追記)
展開するファイルの中に日本語が含まれている場合、エラーになりました。
回避方法として、ソース アーカイブ ファイルのパスの指定を「/download/」から「パス」に変更することで
エラーを回避することができました。

(8)これで目的の動作は出来上がり

添付ファイルがあったら/download/に保存され、
ZIPファイルだったら/expand/に展開(解凍)されます。

(9)いいえの場合

(8)までで出来上がっていますが、(9)ではZIPファイル以外が保存されたケースの処理を加えます。

想定されたシナリオでは、ZIPファイルが自動納品される予定でしたが、
イレギュラーはつきものです。
ZIPファイル以外が納品された場合に、スマートフォンにプッシュ通知を送る設定を加えます。

前提
iOSアプリまたはAndroidアプリで「Microsoft Flowアプリ」をインストール&ログインしておく必要があります。
詳しくは「(1)重要な人からメールがきたらスマホにプッシュ通知を送る」を参照。

参考:初心者向け|Microsoft Flowを使ってみる(1)重要な人からメールがきたらスマホにプッシュ通知を送る
https://qiita.com/Baru/items/27efb4bc20ed875f796c

(10)いいえの場合のアクション

アクションの追加
スマートフォンにプッシュ通知を送るため、「Notifications」を選びます。

(11)「Notifications - Send me a mobile notification」を選ぶ

(12)「Notifications - Send me a mobile notification」の詳細

Text:メッセージを入れます。

(13)フローの保存

イレギュラーが発生したらアラートとしてプッシュ通知が届くようになりました。
プッシュ通知のほかにも、メールを送信してもいいかもしれませんね。