アフィリエイト広告を利用しています

[RPA/自動化]Power Automate Desktopでメール本文テキストを取得・表示する

メール本文テキストの自動処理 自動化・プログラミング

Gmailで受信したメールをPower Automate Desktopで取得する手順を解説した記事の続きです。

受信メールの本文テキストを取得・表示するフローの追加

Gmailから受信した新規メール情報がある場合はメール本文を表示させ、無い場合は「新規メールはありません」と表示するフローを作成します。

前回作成したフローにアクションを追加していきます。

Step 1 メール情報有無判定のアクションを追加

受信したメール情報が無い場合(新規メール0件)の場合も想定して、まず最初に取得したメール情報の有無を判定し、以降の処理を分岐できるように「if」アクションを追加します。

「if」アクションの追加
  • 1
    作成済みのフローを開く
    追加するアクション
    クリックで拡大できます
  • 2
    「if」アクションをドラッグ&ドロップ

    メールを取得後にメール情報の有無を判定し、以後の処理を分岐する「if」アクションを追加

    ※「if」アクションは「条件」のカテゴリの中にあります

    ifアクションをドラッグ
    クリックで拡大できます
  • 3
    「if」アクションを設定

    「if」アクション設定のポップアップウィンドウが開きます。

    「最初のオペランド」の[x]の箇所をクリック。

    ifアクションの設定
  • 4
    メール情報有無の判定に使う変数を指定

    フロー変数「RetrievedEmails」を選択します。

    このフロー変数「RetrievedEmails」は、ひとつ前のアクション「メールメッセージの取得」でGmailから取得したメール情報が入っているフロー変数です。

    ifアクションの設定
  • 5
    メール情報有無の判定方法を設定

    メール情報が入っているフロー変数「 RetrievedEmails 」が「空でない」ことをメール情報有無の判定に使います

    ifアクションの設定
  • 6
    保存をクリック
    ifアクションの設定
  • 7
    「if」アクションの追加完了
    ifアクションの追加完了

Step 2 メール情報を扱いやすくする処理を追加

メール情報が「空でない」場合に、メール本文を処理するアクションを追加します。

メール情報が入っているフロー変数「 RetrievedEmails 」 はメールをリスト(配列)形式で格納しています(メール情報が1件でもリスト形式で格納されています

このリスト形式ではメール情報を取り出しにくいため、まずはリスト形式から1件づつメール情報を取り出して扱いやすくします。

リスト形式の情報から1つ1つ情報を繰り返し取り出す処理をする「For each」アクションを追加します。

「For each」アクションの追加
  • 1
    「For each」アクションをドラッグ&ドロップ

    「if」アクション(「if」~「End」)の間に「For each」アクションをドラッグ&ドロップ

    ※「For each」アクションは「ループ」のカテゴリの中にあります

    For eachの追加
    クリックで拡大できます
  • 2
    反復処理を行う値を選択

    反復処理する値に、メール情報が入っているフロー変数「 RetrievedEmails 」を選択

    繰り返し処理追加
    クリックで拡大できます
  • 3
    「For each」アクションが追加されました
    繰り返し処理を追加
    クリックで拡大できます

Step 3 メール情報からメール本文を取得・表示するアクションを追加

メール本文を取得してメッセージボックスに表示させるアクションを追加します。

「メッセージを表示」アクションを追加
  • 1
    「メッセージを表示」アクションをドラッグ&ドロップ

    「For each」アクション(「For each」~「End」)の間に「メッセージを表示」アクションをドラッグ&ドロップ

    ※「メッセージを表示」アクションは「メッセージボックス」カテゴリので中です

    繰り返し処理を追加する
    クリックで拡大できます
  • 2
    メッセージボックスのタイトルを入力

    メッセージボックスのタイトルは任意のものを入力します。

    表示するメッセージは、リスト(配列)形式の「RetrievedEmails」から、「For each」アクションで1件1件取り出されたメール情報「Currentitem」の中にあります。

    メッセージを表示アクションを追加
    クリックで拡大できます
  • 3
    表示するメッセージを選択

    表示するメール本文のテキストは、メール情報「Currentitem」の中にある「BodyText」プロパティに格納されています。

    ※「Currentitem」には他にも、メール件名、受信日時などの情報も格納されていますが、ここではメール本文のテキストだけを取り出します

    メッセージを表示アクションを追加
  • 4
    その他のオプションを追加して保存
    メッセージを表示アクションを追加
  • 5
    「メッセージを表示」アクションが追加されました
    メッセージを表示アクションを追加
    クリックで拡大できます

Step 4 メール情報が無い場合(0件)の処理を追加

つづけてメール情報が空(新規メールが0件)の場合の処理を追加します。

「if」アクションと一緒に使う「Else」アクションを使います。

「Else」アクションを追加する
  • 1
    「Else」アクションを追加ドラッグ&ドロップ

    メール情報が空の場合の処理を追加するため、「if」アクションの「End」の直前に「Else」アクションをドラッグ&ドロップします。

    ※「Else」アクションは「条件」カテゴリの中です

    メール情報が無い場合のアクション
    クリックで拡大できます
  • 2
    「Else」アクションが追加される

    「Else」アクションの後に、メール情報が空の場合の具体的な処理を追加できます。

    メール情報が無い場合の処理
    クリックで拡大できます
  • 3
    「メッセージを表示」アクションの追加

    「Else」アクションの後ろに、メールが空の場合に表示するメッセージを追加します。

    ※「メッセージを表示」アクションは「メッセージボックス」カテゴリの中にあります

    メッセージを表示アクションを追加
    クリックで拡大できます
  • 4
    メール情報が空の場合のメッセージを設定

    メッセージボックスのタイトルとメッセージ本文を設定して保存します。メッセージの内容は任意です。

    メール情報が空の場合の処理
  • 5
    メール情報が空の場合の「メッセージを表示」アクションが追加される
    メール情報が空の場合の処理
    クリックで拡大できます

これで、Gmailから受信したメール情報が空で無い場合はメール本文を表示させ、空の場合は「新規メールはありません」と表示させるフローが出来ました。

完成したフローの実行

本フローは前回の記事に記載した、消費者庁のリコール情報のメールサービスを処理することを目的に作成したものですので、フローの実行の前に以下確認してください。

フローの実行前に以下確認してください

  1. Gmailの受信トレイにリコール情報のメールが届いている
  2. リコール情報のメールの内、最低1通は未読がある

上記の条件がそろっていないと、メール情報が取得できません。

もしリコール情報のメールが受信されていても全て既読になっていたら、最低1通は未読に戻しておいてください

またフローを実行すると、未読のメールは既読に変更されるように設定しています。

何度も試す場合は、Gmailの画面でリコール情報のメールを未読に戻してからフローを再実行してください。

受信メールの本文テキスト情報表示フローの実行
  • 1
    フローの実行をクリック
    フローの実行
    クリックで拡大できます
  • 2
    メール本文のテキスト情報が表示されます

    新規メールがある場合は、受信したメールの本文がメッセージボックスに表示されます。[OK]を押すとこのボックスが閉じます。

    新着のメールが2通以上ある場合は、再度メッセージボックスが開きます。

    メール本文のテキスト表示
  • 3
    新規メールが無い場合

    新規メールが無い場合は、このメッセージボックスが開きます。

    新規メールが無い場合

以上でGmailで受信した新着メールから、メール本文のテキストを取得・表示させることが出来るようになりました。

テキスト情報が取り出せれば、ここから必要な部分を抜き出してエクセル形式でのファイル保存なども行うことが出来ます。

また別の記事でさらに処理を追加していきます。

タイトルとURLをコピーしました