Automation Anywhere(A360)をさわってみた!-Eメール編

RPA関連ブログ
本記事では、システムエグゼで使用しているAutomation Anywhere(以下、AA)の機能を紹介します。
今回はAAのA360について、初心者向けの活用方法として、Eメールアクションの仕組みをご紹介します。
RPAにつきましては過去ブログもぜひご参照ください。
・RPAとは?そのメリットや導入方法を徹底解説のURL
・Automation Anywhere(A360)をさわってみた!-Excelの基本操作編
・Automation Anywhere(A360)をさわってみた!-レコーダー編
1.今回使用するアクション
A360にはEメール関連の操作を行えるアクションがあります。
このアクションではメッセージの送信や、メッセージのステータスの変更等ができます。
Exchange Web Services(EWS)、Microsoft Outlook、その他のEメールサーバを介して操作を行うことができます。
今回はEメールのアクションの機能や使用方法について紹介します。
2.Eメールのアクションで使える機能
Eメールの機能でよく使う、以下5つの機能を紹介します。
・送信
・接続/接続解除
・添付ファイルを保存
・Eメールを保存
・ステータスを変更
送信
「送信」では以下のような画面が表示されます。


それぞれの指定項目では以下の内容を指定します。
指定項目 | 機能 | 備考 |
---|---|---|
送信先アドレス | 送信先を入力する | - |
Cc | Cc先を入力する | 任意 |
Bcc | Bcc先を入力する | 任意 |
件名 | 件名を入力する | - |
添付 | 添付ファイルを指定できる | 任意 |
添付ファイルがない場合 | 添付ファイルがない場合にエラーを発生させるか選択できる(Desktopのみ) | - |
Eメール本文 | Eメールの本文形式を選択できる | - |
メッセージ | 送信する内容を入力する | - |
Go Greenメッセージ有無 | 「Please consider the environment before printing. Let’s Go Green!」を文末に配置するかを選択できる。 | Go Greenメッセージ:環境配慮のメッセージ |
Eメールの送信方法 | Eメールの送信方法を選択できる | - |
各項目では、変数を使用することができるので、さまざまな宛先を指定することが可能です。
また、添付ファイルはファイルを直接ファイルパスで指定することや、複数のファイルパスを1つのリスト変数に格納し、複数のファイルをメールに添付することができます。
接続/接続解除
Eメール機能では基本的にループ機能を用いて、メールボックス内の各メールに対して操作を行うことができます。
ループ機能を使うにはセッション名が必要になります(「転送」「返信」「送信」機能では不要)。
「接続」でメールサーバに接続し、セッション名を指定します。
「接続」では以下のような画面が表示されます。

それぞれの指定項目では以下の内容を指定します。
指定項目 | 機能 | 備考 |
---|---|---|
セッション名 | ロボットの処理内において、どのEメールサーバ上で行う処理なのかを判別するための名前を入力する | - |
接続先 | 接続先のEメールサーバを選択する | - |
Outlookのメールボックス | どのメールボックスで操作を行うか入力する | 任意 |
メールサーバの接続を切る場合は「接続解除」機能を使用します。
「接続解除」では以下のような画面が表示されます。

指定項目では以下の内容を指定します。
指定項目 | 機能 |
---|---|
セッション名 | 接続を解除するセッション名を入力する |
添付ファイルを保存
この機能もループ処理の中で使用することができます。
「添付ファイルを保存」では以下のような画面が表示されます。

それぞれの指定項目では以下の内容を指定します。
指定項目 | 機能 |
---|---|
添付ファイルをフォルダーに保存 | 保存先のファイルパスを入力する |
ファイルを上書き | 同じ名前のファイルが保存先にある場合、上書きするかを選択する |
Eメールを保存
この機能もループ処理の中で使用することができます。
「Eメールを保存」では以下のような画面が表示されます。

指定項目では以下の内容を指定します。
指定項目 | 機能 |
---|---|
セッション名 | ロボットの処理内において、どのEメールサーバ上で行う処理なのかを判別するための名前を入力する |
メールをフォルダーに保存 | 保存先のファイルパスを入力する |
ファイルを上書き | 同じ名前のファイルがある場合に、上書きして保存するかを選択する |
ステータスを変更
ステータスとは、メールの「既読」「未読」の状態ことを指します。
この機能もループ処理の中で使用することができます。
「ステータスを変更」では以下のような画面が表示されます。

それぞれの指定項目では以下の内容を指定します。
指定項目 | 機能 |
---|---|
セッション名 | ロボットの処理内において、どのEメールサーバ上で行う処理なのかを判別するための名前を入力する |
次のステータスに変更 | メールの状態を「既読」か「未読」のどちらかに変更できる |
それでは、今回紹介した機能を使用してロボットを2つ作ってみましょう。
3.Eメールのアクションを使用してメールを送信してみよう!
1つ目は、自動でメールを送信してくれるロボットを作ります。
今回は以下のような添付ファイルのあるメールを複数人に送信することを想定して作成します。

ロボットには以下のような処理を進めさせます。

今回ロボットを動かすにあたって、以下の添付用ファイルを用意しました。

複数のファイルの中から、実行時の日付のファイルが選ばれるような処理を設定します。
メールを送信
まず、送信したいメールの内容を設定します。


今回はOutlookを利用してメールを送信します。
宛先名等で使用している変数は次の処理で指定します。
この設定した処理をループ内に入れることで、複数の宛先に同じ内容のメールを送信できます。

変数取得
宛先名等のメールで使用する文字列の変数を取得する処理を設定します。
日付の取得は以下のような処理を設定します。

各処理で実行日の「年」、「月」、「日付」の取得を行っています。
宛先等の情報は以下のような処理を設定します。

Excelシート内に「宛先」、「Cc(任意)」、「差出人名」、「宛先のアドレス」を記載し、テーブル変数として取得します。
ロボットはここで取得したテーブル変数の行の分、メール送信を繰り返すような処理になります。
添付ファイルの取得は以下のような処理を設定します。

添付ファイルが格納されている先を参照し、実行日の日付「yyyymmdd」がついているファイルのパスを取得します。
取得したファイルパスはリスト変数に格納します。
これでメール送信のロボットは完成です。
4.Eメールのアクションを使用してメールを保存してみよう!
2つ目は、自動でメールを保存してくれるロボットを作ります。
実行時、メールボックス内にあるメールで、「会議資料」という言葉が含まれるもの、かつ、「未読」ステータスのものを保存するような仕組みを作成します。
ロボットには以下のような処理を進めさせます。

メールサーバへ接続/接続解除
メールボックス内のメールを確認するために、ループを使用します。
ループに名はセッション名が必要になるので、「接続」アクションでメールサーバに接続し、セッション名を指定します。

保存作業後にはメールサーバの接続を解除するように設定します。

これで、メールサーバへ接続する準備が整いました。
続いて、接続と接続解除の間に「メールの保存」と、保存し終えたメールを対象から外すための「ステータスを変更」を繰り返し行う処理を設定しましょう。
「メールの保存」と「ステータス変更」
「メールの保存」と「ステータス変更」は以下のように処理を設定します。

ループ内に処理を記載することで、「メールの保存」と「ステータス変更(未読→既読)」の処理を繰り返し行うことができます。


今回、ループでは以下を指定します。
指定項目 | 機能 | 今回の指定内容 |
---|---|---|
反復子 | ― | 「メール ボックス内の各メール」を選択 |
セッション名 | 接続したメールサーバのセッション名を入力 | 「RPAメール取得」を入力 |
Eメールのタイプ | 対象となるメールのステータスを選択 | 「未読」を選択 |
特定のフォルダーから | メールを取得するフォルダーを入力 | 「受信トレイ」を入力 |
件名を含む場合 | 対象となるEメールの件名に含まれている値を入力 | 「RPAブログ」を入力 |
メッセージ形式 | メッセージ形式を選択 | 「テキスト」を選択 |
タイムゾーン | タイムゾーンを選択 真:ローカルタイムゾーン 偽:UCTタイムゾーン 変数:Boolean変数を指定 |
「真」を選択 |
現在の値を変数に代入 | ディクショナリ変数に値を代入 | - |
これでメール保存のロボットは完成です。
5.ロボットを動かしてみた結果
完成したロボットはそれぞれ以下のようになりました。
メール送信

メールを保存

まずは「メール送信」を実行し、その後に送られたメールを利用して「メール保存」を実行します。
※実行方法については、「Automation Anywhere(A360)をさわってみた!-レコーダー編」に概要を記載してありますので、そちらもご覧ください。
実際にロボットを動かしてみると、以下のような画面が表示されます。


「メールを送信」の結果


「メールを保存」の結果


6.おわりに
無事、メール送信とメール保存の両方ができました。
このようにEメールのアクションを使用すると、メールの処理を繰り返して行う作業を効率化することが可能です。
補足
メールアクションの送信機能を利用するとたった1行で処理できますが、メールの送信機能を利用せずに、レコーダーアクション等さまざまな機能を利用して送信処理を以下のように行うこともできます。

今回行ったEメールのアクションと比べると明らかに長いですね。
メールの送信機能だと、記入やファイル添付等の処理がまとまっていますが、利用しない場合だとメーラーを開くための処理、メール本文を書く処理等、行いたい処理を分けて作成する必要があり、行数が多くなります。
また、上記のようにさまざまな機能を組み合わせた場合に、メーラーを開くことはできても、メーラーの動作がフリーズしてしまった場合に、後続の処理が行えなくなってしまう等のデメリットもあります。
行いたい内容に応じてアクションの使い分けをしていきましょう。
RPA(Automation Anywhere)の導入をご検討の際は、システムエグゼまでお気軽にご相談ください。