全体フローの中で1箇所だけ繰り返す方法

RPA条件一覧というExcelファイルを作成し、その中身をCurrentRow.ByFieldを使い入力作業を行っています。条件分岐にて上手く行った場合はthen,エラーが起きた場合はelseに進むようRPAを作成しているのですが、ある所でCurrentRow.ByField(該非番号下ボタン回数)を使い、一度エラーが起きたらボタン回数を2,再度エラーが起きたら3…と作成したいのですが上手く行かず、ずっと1度しかボタンを押してくれません。エラーが起きるごとにボタン回数を増やすにはどうすれば良いのでしょうか?

image

こんにちは

単純に変数を用意して、エラーが起きるたびに1加算すれば良いように思えますが、エクセルのシートを使う理由は何かありますでしょうか?

こんにちは
以下が実際に使用しているExcelファイルになります。
確認_RPA_条件マスタ.xlsx (10.8 KB)

A~M列までデータがあるのですが、最終的にはM列はデータ数固定し、
A~L列はRPAを動かす前に取りたい文のデータを入力しておく(増える可能性がある)イメージです。

このようにExcelファイルを使っている理由としては、他のRPAでもこのような運用方法をしており、使い回ししやすい部分や毎日データ数が上下するためです。

A-L列を入力するために繰り返し(エクセルの各行)を使用しているのであれば、M列も基本的にはそれと同じ行を参照することになります。
やりたいことは、A-L列の行参照とは別にM列の行参照を独立してコントロールしたいように理解しましたが、あっていますでしょうか?
そうであればやはり変数を独立して保持しておいて、そこから値を直接参照することになるのではないかと思います。(あるいは参照することなく、その変数自体が使えるようにも思えます)

そうです!M列だけ独立する認識であっております。
この場合、A~L列までを【マスタ(品番・品目)品番コード】シート。
M列のみを【マスタ(品番・品目)品番コード2】シートなどに分け、エラーが起きた際のフローを下に作って行くやり方ではダメなんでしょうか?


今このように作り動かしてみたんですが、存在確認のところで止まってしまいました。(A~M列まで同じExcelファイル繰り返し各行の中に入れたときは動いていた)

上記の図ではどのようなロジックを組まれているかわかりませんので、ロジックが分かる部分を共有可能でしょうか?

すみません。勘違いしておりました。動くには動くんですが、
シート名を分けても、1行目をずっと参照し5回繰り返してしまいます、、、

then


else

このようなフローとなっております。
シートを追加したExcelファイルも載せておきます。
確認_RPA_条件マスタ.xlsx (11.7 KB)

要件が良くわかりませんが、繰り返してはダメなのでは?
単にエラー発生回数に応じて、Downボタンの押下回数を決定するのであれば、単に変数として保持するか、その変数をエクセルの行番号に対応させて読み込むかになると思います。

単に変数として保持する。行番号に読み込むというのはどのように作成すればよいのでしょうか?正直あまりピンと来ておらず、例のフローなどはございますでしょうか?

エラー発生回数と同じ回数を押下するのであれば、エクセルを読み込む必要は無く、以下の様になると思います。

エクセルを読み込む必要がないというのがよく分かっていないんですが、
date.xlsxを使っているのは読み込むとはまた違う意味になるんでしょうか?

また、繰り返しの各行だと行ごとに参照するためM列を独立してみれないため
シートを分けたと思うんですが、上記の仕様にする場合はそもそもシートを分ける必要がない認識でいいでしょうか?

エクセルファイル内のA~L列は各行ごとにシステム(?)に入力する必要があると理解しています。そのためこれはエクセルから読む必要があると考えています

一方Downの押下回数は、上記からしますと、それまでにエラーの発生した回数と同じと思いますので、必ずしもエクセルから取得する必要はなく、その回数を数えて保持しておけばよいのではと思っています。

上記の理解が正しいのであれば、M列はそもそも不要ではないかと思います。
もしM列を参照する必要があるのであれば、エラー発生回数をerrCounterとしますと、
アドレス “M”+(erroCounter+1).ToString からセル読み込みで読み取れば良いかと思います。

詳しくありがとうございます。
A~L列に関しては冒頭部分にてマスタ等読み込み、システムへの入力作業終わっております。(そこまでのフローは問題なく動くこと確認済み)
そのため、スクショで送らせていただいた条件分岐の部分はM列のみ必要な認識です。また、A~L列が2行,3行と追加されていった場合、システムに入力される内容によってエラー回数も変わってくるのですが、回数が変わる分には問題ないでしょうか?(Yoichi様のDown数とエラーの発生数が同じだという認識はその通りでございます。)

エラーの回数をどの時点で初期化(上記ですと errCount = 0 とする) するかによって「行単位でのエラー回数」なのか、「累計のエラー回数」なのかをコントロールできますので、要件にあわせて選択すると良いかと思います。

ありがとうございます。本日はもう時間がないのでまた明日試してみます。
参考になることを色々とありがとうございました!!!

お疲れ様です。あれから教えてもらったことを参考にし、そのまま作成してみたのですが、エラーが起きた後にdownを動作をしなくなってしまいました。
Main.xaml (16.3 KB)
ワークフロー.xaml (450.6 KB)

コピペのためエラー起きておりますが、本番環境と同じ内容のフローです。
唯一downのとこが上手くいかず、根本の作り方などおかしい場所をご教示いただけますと幸いです。

すみません、一昨日の時点で回答したつもりでしたが、下書きのままで反映されていませんでした。
以下ご参考まで

直後のEnterキーは動作していますでしょうか?
hasErrorOccurがFalseのため、errCountが0となり、結果としてDownしていないのではないでしょうか?
なおerrCountの初期化も現在の位置ですと、かならず毎回0になりますので、おそらく想定している動作にはならないと思います。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.