マクロを動かした際に出てくる【アラーム発生情報】を見て情報が一致したものにメールを送信したい

色々な情報やメールアドレス、アラームが必要かどうかの○×が記載されているマスタと値が外れた際にアラーム発生情報を教えるマクロがあります。
マクロを動かした際に表示されている【アラーム発生情報】シートを見てマスタと照らし合わせ、情報が一致している且つアラームが必要に○が付いているメールアドレスにメールを送信するようなRPAが作成したいです。
UiPath初心者で検索等しながら頑張っていますが、つまづいているのでご質問させていただきます。内容分かりずらく申し訳ございませんが、ご教授のほどよろしくお願いいたします。

1 Like

こんにちは

つまづいている点は何になりますでしょうか?必要に応じてスクリーンショット等もつけていただくと良いかと思います。

RPAで必要情報をダウンロードし、マクロを動かすところまでは作成出来ているのですが、マスタとマクロ動作後のファイルを照らし合わせてメール送信する。という部分でつまづいております。


1枚目の画像が【アラーム発生情報】の中身になります
アラームが発生している場合はここに情報が記載されます。

2枚目の画像が【マスタ】の一部分になります。
1枚目と2枚目に共通している【号機】部分を見て一致しているか判断し、
一致していればH列の【アラーム必要可否】の部分を見て〇になっていればメールアドレスの記載がある方に1枚目の画像情報をメールに添付して送信する。といった形になります。。。

上記であれば、データテーブルを結合アクティビティを使用すると良いかと思います。
それぞれをデータテーブルとして読み込み
結合条件を、内部結合、それぞれのデータテーブルの"号機"とすれば、それが一致する行が結合されて一致しないものは削除されますので、その結果を元に繰り返しを行うと良いかと思います。

おはようございます。
アカウント作成したばかりのため返信制限でお返し遅れてしまい申し訳ございません。
おそらく以下のように【マスタ】と【アラーム発生情報】をそれぞれデータテーブルとして読み込むのだと思うのですが、一つはマクロファイルの中になるので、.xlsmになってしまい、読み込みができません。この場合はどのようにすればよろしいでしょうか?

EXCELファイルを使うアクティビティとその配下の範囲読み込みを試してみてください。


上記画像までは作成することができました。
>結合条件を、内部結合、それぞれのデータテーブルの"号機"とすれば、
というのが無知のため理解できておらず、、、
作成方法を教えて頂きたいです。。。
誠に申し訳ございません。。

また、知識として知っておきたいのですが、範囲を読み込みアクティビティについて、Excel用の物を使用せずにRead Rangeのアクティビティを使用するのは何か明確な理由があるのでしょうか?

可能であれば、ダミーでも良いので、入力サンプルと期待する出力サンプル共有可能でしょうか?

Excel用の物が何を指しているかわかりませんが

エクセルファイルを使用アクティビティおよびその配下の範囲読み込みアクティビティは、エクセルのアプリケーションを通じて情報を取得します。そのため端末にはエクセルがインストールされている必要があります。(実際にEXCELが立ち上がります)

一方範囲読み込み(ワークブック)は、エクセルのアプリケーションを使わずに、サードパーティ製の処理ライブラリを使って読み込みます。そのため端末にエクセルがインストールされていなくても使用可能ですが、エクセル上での機能は制限されます(例えばマクロ実行等はできません)
なお範囲読み込み(ワークブック)でもマニュアルでxlsmファイルへのパスを入力すれば、読み込むことは可能かと思います。

管理ソフト.xlsx (21.9 KB)

棟号機マスタ.xlsx (25.0 KB)
管理ソフト.xlsxがマクロのファイル(仮)
棟号機マスタ.xlsxがマスタ(仮)になります。
マクロファイルに関してはxlsmではアップロード出来なかったため、.xlsxに変換しております。よろしくお願いいたします。

いただいたデータですと、一致する号機が無いように見えますが、期待する出力はどのようになりますでしょうか?

仮のマスタですので、送信時に重くならないように消させていただいた部分に入っております。【アラーム発生情報】はマクロを走らせるごとに中身の内容が変わってきますので、マスタと情報が一致すれば、メールが必要かを見て送信する形となっております。正確なマスタで無ければRPAのおつくりが厳しそうでしたら、重くなるかもしれないですが、データがきちんと入っているものを送信致しますがいかがでしょうか?要望が多く申し訳ございませんがよろしくお願いいたします。

RPAだけではなく、一般的にシステムの処理の正しさを確認するためには、入力と出力が明確でなければなりません。
とりあえず、1レコードをOE-4にして、結果が残るようにしました。
以下確認ください。(result.xlsx)

Sample20231130-1L.zip (41.2 KB)

水準管理RPA棟号機マスタ.xlsx (28.1 KB)
システム処理の正しさを確認したかったので、正確なマスタをご用意いたしました。
ご確認いただけますと幸いです。メールアドレス情報だけは仮で設定しております。

1レコードをOE-4にすることが可能になるんでしょうか?
マスタとアラーム発生情報に一致する物がない場合は何も結果が出ないようになるかと思ったのですが、、、

上記でお送りしたファイルはそのようになっていると思います。
マクロを実行せずに、まずは上記データを確認ください

またマスタだけ送っていただいても、期待する結果との照合ができませんので、
必要であればそちらも共有いただければと思います。

共有いただいたファイルで、抽出するようにしました。実行後に生成されるresult.xlsxを確認ください。

Sample20231130-1L (2).zip (64.5 KB)

確認致しました。result.xlsxにアラーム発生情報の内容が書き出されていました。
一致していると判定されて、result.xlsxに抽出されたという認識でよろしいでしょうか?後はメールを送信するという工程になりますかね・・?

期待する出力(何が正解か)はこちらではわかりませんので、問題なければこれで進めてもらえればと思います。

今現在、アラーム発生情報を手動で変更してみてsasisuseso.xlsxの部分を前列消して実行してみたのですが、result.xlsxの方には残ったままでした。
これはどうしてでしょうか??

result.xlsxが以前の物が残っているのではないでしょうか?事前に削除されましたでしょうか?

result.xlsxの方は手動で消すなどはしておりません。
認識間違いでしたら申し訳ないのですが、RPAを動かした際にマスタとマクロのアラーム発生情報の2つを見に行って一致していたら、アラーム発生情報に記載してある一致した情報がresult.xlsxに出力される。という認識だったのですが、間違ってますでしょうか?