Power Automate DesktopでOutlookから取得したメールを1件ずつ表示・抽出する方法

secretary IT

Outlookからメールメッセージを取得します」で取得したメールメッセージはリスト形式、つまり全部ひとまとめになった状態で取得される上に、中身を表示することができません。
ここでは実践編としてFor eachを使用してメールを1件ずつ整理して、プロパティでタイトルと本文を取得してExcelに貼り付けたいと思います。

スポンサーリンク

メールの取得

テスト用にアカウント作って、いくつかメールを送っておきました。
Outlookからメールメッセージを取得しますでInboxフォルダのすべてのメールを取得し、メッセージボックスに表示してみると、
こうなります。取得したメールが全部いっしょくたになっており、かつ本文を読むことができません。
これをどうするかという話なのですが、まずOutlookからメールメッセージを取得しますで取得した変数(デフォルトではRetrievedEmails)を確認すると、リスト形式になっていることがわかります。
さらにリストの中のアイテムの詳細を確認すると、.Subjectプロパティでメールタイトル、.Bodyプロパティがメール本文に割り当てられているらしいことがわかります(参考)。

メールを1通ずつ取得

まずリストになった変数のそれぞれのアイテムを取得する方法ですが、For eachアクションの中にリストを入れると、リストの項目1つにつき1回ループしてくれます。
For each反復処理を行う値に取得した変数を指定します。
試しにメッセージボックスでFor eachの変数を出力してみると、
こんな感じで、1通ずつに分解されて処理されることが確認できます。処理は取得したメールの数だけ繰り返されます。

プロパティ(タイトルと本文)の取得

取得したメールからプロパティの内容を取り出すには、変数の後に.プロパティ名をくっつけます。この場合.Subjectでタイトル、.Bodyで本文を取得します。
実行結果です。1通ずつタイトルと本文が取得された状態になりました。

他に.Dateで日付、.Fromで送信元のメールアドレス、.Toで送信先が取得できます。.Bcc.Ccも取得可能。

Excelに貼り付け

ここから先は用途や各人の環境によって設定が異なると思うので、ひとつの例として。適宜改良してご利用ください。
まずExcelを起動し、
ループカウント用に変数変数の設定で初期値が1の変数を作って、
ループの終わりに変数の値を1増やします。
Excelワークシートに書き込みを使って、1列目(変数)行目にタイトル、2列目(変数)行目に本文を書き込みます。
ループごとに取得しているメールはひとつだけなので、1行目には1通目、2行目には2通目のメールのタイトルと本文が記載されることになります。
実行結果です。ここまでのフローは下記をコピペすると再現できます(メアドなど要変更)。

Outlook.Launch Instance=> OutlookInstance
Outlook.RetrieveEmailMessages.RetrieveEmails Instance: OutlookInstance Account: $'''sunasunagitsune@hotmail.com''' MailFolder: $'''Inbox''' EmailsToRetrieve: Outlook.RetrieveMessagesMode.All MarkAsRead: True Messages=> RetrievedEmails
Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance
SET NewVar TO 1
LOOP FOREACH CurrentItem IN RetrievedEmails
    Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: CurrentItem.Subject Column: 1 Row: NewVar
    Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: CurrentItem.Body Column: 2 Row: NewVar
    Variables.IncreaseVariable Value: NewVar IncrementValue: 1
END
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。

コメント

モバイルバージョンを終了