StudioXのアクティビティ

UiPath StudioXのメールアクティビティ【制御・抽出】

2022/01/20

メールを自動化するにあたって、ほとんどの場合において[繰り返し(各メール)]アクションは必須になるはずです。

また、メールを読んだ(処理した)かを切り分けるため、未読/既読を切り替えることも大切でしょう。

上記2つのアクティビティと、メールから添付ファイルを取り出す機能についてまとめました。

この記事では、以下のアクティビティについて解説します。

記事編集時のStudioX - ver2021.10

制御・抽出のアクティビティ

  • 繰り返し(各メール)
  • メールを既読/未読にする
  • メールの添付ファイルを保存

本記事では、デスクトップ版Outlookのリソースをもとに解説を進めます。

繰り返し(各メール)

指定したフォルダー内の各メールに対して、含まれるアクティビティを1回ずつ繰り返します。(ガイドはこちら)

受信トレイ(フォルダー)から、フィルターなどの条件に合うメールを1件ずつ読み取りながら、処理を繰り返します。

読み取ったメールを、[ここにアクティビティをドロップ]内に組んだアクティビティで、連続で処理していきます。

ここでは、以下の項目について解説します。

  • 繰り返し
  • 対象フォルダー
  • メールの上限数
  • 追加フィルター
  • 未読メール
  • 添付ファイルがある場合のみ
  • サブフォルダーも含む

繰り返し

現在の周回の、メール情報を記憶する名前を指定します。

既定では"CurrentMail"ですが、必要に応じて意味を表す名前に変更するといいでしょう。

なお、メール情報には、"件名や"本文"、"宛先"などを含みます。

対象フォルダー

メールを検索するフォルダーを指定します。

下の方に2つ、ちょっとユニークな項目がありますよね。

これは、Outlookのみに表示される項目です。

[選択されたフォルダー]は、予めOutlookを起動しておき、検索したいフォルダーを選択しておきます。

選択した状態で自動化処理を実行すると、そのフォルダーが検索の対象となります。

[選択されたメール(複数)]は、処理するメールを複数選択して、繰り返し実行します。

Gmailでは、受信トレイ=INBOX、送信済み=SENT、迷惑メール=SPANと表示されます。

メールの上限数

繰り返すメールの処理の上限を、指定します。

初期値は100です。

ドロップダウンから"制限なし"、もしくは繰り返す件数を選択します。

自分で値を直接入力することも可能です。

追加フィルター

件名や本文、メールアドレスに対して、フィルターに指定した条件で絞り込みます。

[追加フィルター]をクリックすると、[フィルター]画面が表示されますので、条件を作成しましょう。

フィルターの種類

[+追加]で複数の条件を作成したときに、複数の条件をすべて満たすものが対象なのか、条件のいずれかを満たすものが対象なのかを選択します。

[すべての条件に一致]は、追加した条件全てに当てはまるメールが対象となります。

[いずれかの条件に一致は、追加した条件に1つ以上当てはまるメールが対象となります。

ただ、この項目はちょっと癖がありまして。

条件を追加した時点では、ドロップダウンが活性化しないんですよね。

ですが、一度[OK]をクリックして画面を閉じ、再び開きなおすと活性化します。

[OK]をクリックして画面を閉じます。 [追加フィルター]をクリックし、再び開きます。 活性化されました。

[フィールド]と[フィルター条件]

フィルターのターゲットとなる[フィールド]は、8つの選択肢の中から指定します。

更に、[フィールド]に合わせて、[フィルター条件]で指定できるものも変化します。

以下、一覧にまとめました。

フィールド フィルター条件
Bcc 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
本文 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
Cc 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
日付 次より新しい/次より古い/次に等しい
(フィルターの値:今日/2日/3日/7日/14日/30日/90日)
送信元 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
※取り消し線の項目は、サポート外となります。
宛先 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
件名 次を含む/含まない/次で終わる/次で始まる/次に等しい/空である/空ではない
※取り消し線の項目は、サポート外となります。
カテゴリ 次を含む/含まない

フィルター条件で、サポート外となっているものを使用すると、期待どおりの処理になったりならなかったりします。

結果が不安定なので、使用しない方がいいでしょうね。
おぐし

[フィールド]にある"カテゴリ"とは、Outlookの分類項目を指します。

Gmailの受信トレイにも"カテゴリ"とありますが、こちらは[カテゴリ]のフィルター対象ではありません。

未読メール

未読のメールのみ対象にする場合は、チェックONにします。

添付ファイルがある場合のみ

添付ファイルを含むメールのみ対象とする場合、こちらをチェックONにします。

サブフォルダーも含む

指定したフォルダー(受信トレイ)内に、更にフォルダーが存在する場合、チェックOnにするとその中のフォルダー内メールを含め、処理対象にします。

メールを既読/未読にする

指定したメールメッセージを既読/未読にします。(ガイドはこちら)

対象のメールを、既読、もしくは未読に変更します。

ここでは、[メール]と[マーク]について解説します。

メール

既読/未読にするメールを指定します。

メールを指定するためには、[繰り返し(各メール)]アクションを使います。

[繰り返し(各メール)]アクションにあるフィルター機能を使い、対象のメールを選定します。

そして、[繰り返し(各メール)]の中に[メールを既読/未読にする]アクションを追加します。

[メール]を見ると、[繰り返し(各メール)]に指定されている名前が自動的に反映されていますので、そのままで問題ありません。

もし、自動で入っていない場合は、[+]から対象のリソースを指定してください。

マーク

対象のメールについて、既読にするのか、未読にするのかを指定します。

メールの添付ファイルを保存

コンピューター上の指定したフォルダーにメールメッセージの添付ファイルを保存します。指定したフォルダーが存在しない場合、作成します。フォルダーを指定しない場合、プロジェクトフォルダーに保存します。(ガイドはこちら)

メールに添付されているファイルを、PC内のフォルダーに保存します。

ここでは、以下の項目について解説します。

  • メール
  • ファイル名でフィルター
  • 保存先フォルダー
  • 保存ファイルを上書き
  • 添付ファイル

メール

添付ファイルを取り出すメールを指定します。

メールを指定するためには、[繰り返し(各メール)]アクションを使います。

[繰り返し(各メール)]アクションにあるフィルター機能を使い、対象のメールを選定します。

そして、[繰り返し(各メール)]の中に[メールの添付ファイルを保存]アクションを追加します。

[メール]を見ると、[繰り返し(各メール)]に指定されている名前が自動的に反映されていますので、そのままで問題ありません。

もし、自動で入っていない場合は、[+]から対象のリソースを指定してください。

ファイル名でフィルター

PCへ保存するファイル名でフィルターを掛け、対象を絞り込みます。

絞り込む条件を、”*”(ワイルドカード)と"|"パイプを使って作成します。

"*"は、「0文字以上の任意の文字」を意味します。(ちなみに、"?"は使えません。)

"|"は、「または」の意味です。

使い方をお見せした方が分かり易そうなので、いくつか例を紹介しましょう。

フィルターテキスト 説明
*.xlsx Excelファイル
*.xls* マクロや旧ファイル(xls、xlsb、xlsx、xlsm など)を含めたExcelファイル
サンプル* ”サンプル"から始まるファイル
サンプル*.xlsx "サンプル"から始まるExcelファイル
*.xlsx|*.pdf|*.zip Excelファイル、PDFファイル、zipファイル
サン*.xls|サン*.pdf "サン"から始まるExcelファイル、またはPDFファイル
*A.xlsx|*B.xlsx AまたはBで終わるExcelファイル

保存先フォルダー

添付ファイルの保存先のフォルダーを指定します。

対象のフォルダーが存在しない場合、フォルダーが作成されます。

保存ファイルを上書き

チェックONにすると、同じファイル名が保存先フォルダーに存在した場合、上書きします。

チェックOFFにした場合は、ファイル名に数値を付与して保存します。

添付ファイル

保存したファイルのパスに、名前を付けて記憶します。

名前を付けた後、これを利用しようとしたときにちょっと迷うかもしれません。

例えば、[Write Line]アクションで名前を選択しようとしても、表示されません。

これは、複数の添付ファイルパスを格納できるよう、リスト形式で記憶しているからです。

リスト形式とは、例えば以下のように複数のテキスト(パス)をひと固まりにするものと言えば、何となくイメージできるでしょうか。

1つしか記憶しない名前がよく登場しますが、これに対し複数のデータを格納できる名前は、”コレクション"と呼ばれます。
おぐし

リスト内のデータは、1つ1つ分解して読み取れば、テキストとして取り出せます。

ここで使うのが、[繰り返し(コレクションの各要素)]アクションですね。

[次のコレクションの各要素]に"Atachment_path"を指定することで、"item"に、1つずつパスが渡されます。

このようにして、リストから1データずつ取り出せば、パスを参照出来るようなります。

出力結果は、以下のとおり。

チュートリアルのすすめ

[繰り返し(各メール)]・[メールの添付ファイルを保存]アクションについて、より理解を深めるため、「チュートリアル: Outlook メールでの反復処理と、添付ファイルの保存」を読むことをお勧めします。
また、チュートリアルを読み砕いて解説しましたので、こちらも併せて参考にしてください。

UiPath StudioXチュート読み砕き【Outlook メールでの反復処理と、添付ファイルの保存】

続きを見る

まとめ

[メールの添付ファイルを保存]では、2つの繰り返し処理が登場しました。

文章では繰り返し処理の解説が分離していますが、これを一連の処理として組めれば、メールの自動化は大丈夫ではないでしょうか。

まとめます。

まとめ

  • [繰り返し(各メール)]の[フィルター条件]は、フィールドによって選択できるものが変わる。
  • [メールの添付ファイルを保存]の[添付ファイル]は、リスト形式で記憶される。

この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門