Gmailで受信したメールをPower Automate Desktopで取得する手順を解説した記事の続きです。
受信メールの本文テキストを取得・表示するフローの追加
Gmailから受信した新規メール情報がある場合はメール本文を表示させ、無い場合は「新規メールはありません」と表示するフローを作成します。
前回作成したフローにアクションを追加していきます。
Step 1 メール情報有無判定のアクションを追加
受信したメール情報が無い場合(新規メール0件)の場合も想定して、まず最初に取得したメール情報の有無を判定し、以降の処理を分岐できるように「if」アクションを追加します。
- 1作成済みのフローを開く
- 2「if」アクションをドラッグ&ドロップ
メールを取得後にメール情報の有無を判定し、以後の処理を分岐する「if」アクションを追加
※「if」アクションは「条件」のカテゴリの中にあります
- 3「if」アクションを設定
「if」アクション設定のポップアップウィンドウが開きます。
「最初のオペランド」の[x]の箇所をクリック。
- 4メール情報有無の判定に使う変数を指定
フロー変数「RetrievedEmails」を選択します。
このフロー変数「RetrievedEmails」は、ひとつ前のアクション「メールメッセージの取得」でGmailから取得したメール情報が入っているフロー変数です。
- 5メール情報有無の判定方法を設定
メール情報が入っているフロー変数「 RetrievedEmails 」が「空でない」ことをメール情報有無の判定に使います
- 6保存をクリック
- 7「if」アクションの追加完了
Step 2 メール情報を扱いやすくする処理を追加
メール情報が「空でない」場合に、メール本文を処理するアクションを追加します。
メール情報が入っているフロー変数「 RetrievedEmails 」 はメールをリスト(配列)形式で格納しています(メール情報が1件でもリスト形式で格納されています)
このリスト形式ではメール情報を取り出しにくいため、まずはリスト形式から1件づつメール情報を取り出して扱いやすくします。
リスト形式の情報から1つ1つ情報を繰り返し取り出す処理をする「For each」アクションを追加します。
- 1「For each」アクションをドラッグ&ドロップ
「if」アクション(「if」~「End」)の間に「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」アクションを使います。
- 1「Else」アクションを追加ドラッグ&ドロップ
メール情報が空の場合の処理を追加するため、「if」アクションの「End」の直前に「Else」アクションをドラッグ&ドロップします。
※「Else」アクションは「条件」カテゴリの中です
- 2「Else」アクションが追加される
「Else」アクションの後に、メール情報が空の場合の具体的な処理を追加できます。
- 3「メッセージを表示」アクションの追加
「Else」アクションの後ろに、メールが空の場合に表示するメッセージを追加します。
※「メッセージを表示」アクションは「メッセージボックス」カテゴリの中にあります
- 4メール情報が空の場合のメッセージを設定
メッセージボックスのタイトルとメッセージ本文を設定して保存します。メッセージの内容は任意です。
- 5メール情報が空の場合の「メッセージを表示」アクションが追加される
これで、Gmailから受信したメール情報が空で無い場合はメール本文を表示させ、空の場合は「新規メールはありません」と表示させるフローが出来ました。
完成したフローの実行
本フローは前回の記事に記載した、消費者庁のリコール情報のメールサービスを処理することを目的に作成したものですので、フローの実行の前に以下確認してください。
- 1フローの実行をクリック
- 2メール本文のテキスト情報が表示されます
新規メールがある場合は、受信したメールの本文がメッセージボックスに表示されます。[OK]を押すとこのボックスが閉じます。
新着のメールが2通以上ある場合は、再度メッセージボックスが開きます。
- 3新規メールが無い場合
新規メールが無い場合は、このメッセージボックスが開きます。
以上でGmailで受信した新着メールから、メール本文のテキストを取得・表示させることが出来るようになりました。
テキスト情報が取り出せれば、ここから必要な部分を抜き出してエクセル形式でのファイル保存なども行うことが出来ます。
また別の記事でさらに処理を追加していきます。