2023/01/22
Power AutomateでOutlookメールを抽出する
MicrosoftのRPA(Robotic Process Automation)ツールのPower Automateを久々に触ってみました。昨年3月のPDFファイルからのテキスト抽出に使って以来です。今回は日頃使っているOutlookメールで所定フォルダに仕分けられているメールを全抽出し、テキストファイル(csvファイル)に書き込みました。全体のフローは以下の通りでループはありますが、6ステップです。順を追って説明します。

1. メールメッセージの取得
IMAPサーバからメールを読み込むための設定を行います。


メールフィルタはターゲットの仕分けしたメールフォルダ(今回は「日経Myニュース」)を設定しました。取得されたメールは変数RetrievedEmailsに保存されます。

2. 新しいリストの作成
ターゲットのメールフォルダ内には複数のメールがあるので、各情報をリスト変数Listに代入していきます。

3.〜5. データ読み込みのループ
ループはFor eachを使って、RetrievedEmailsの数だけ繰り返す設定です。ループ時のカウンタの変数はCurrentItemです。


6. CSVファイルに書き込み
変数Listの内容をローカルのストレージに保存します。csvファイルでなく、txtファイルでも良いですが、ここではMailList.csvとしました。


実行するとフォルダ内の475件のメールを順次読み込んでいきました。実行速度はそれほど高速ではなく、3分程度かかりました。csvファイルには約50,000行の結果が出力されていました。左側が出力csvファイルで、右側が該当するメールです。

今回はメール本体のそのままの文章を出力しましたが、必要な部分をもう少し絞り込んで、整理整頓させて出力することもできそうです。Power Automateですが、プログラミングせずに、ノーコード・ローコードで希望の処理が実行できることで、注目されていますが、プログラミングに慣れている人からすると逆に面倒臭い感がありますね。これも慣れの問題と思いますが・・。また、何かにPower Automate使ってみようと思います。