表データ抽出と繰り返し(Excelの各行)への落とし込み方

いつもお世話になっております。

UiPath Studio(2023.10.3)にて、エクセルからワードをコピーし、ブラウザの表データ抽出後、エクセルにデータを入力したいのですが、下図のようなエラーが発生します。
(繰り返し(Excelの各行)内で実施しております)

image

最終的には下記のような形式で検索したセルと同じ行にデータを入力したいと考えております。

CurrentRow.ByIndex(1).StringValue

対処法につきましてご教示頂けますと幸いです。
よろしくお願い致します。

Hi @KWDS

Can you try like below

CurrentRow.ByIndex(1)

Regards,

こんにちは

表データ抽出アクティビティの出力はDataTableしかとり得ませんので、一旦DataTable型の変数をセットしてみてください。
その上で、そのDataTableから必要な情報を、当該行に書き込むことになると思いますが、可能であればこのあたりの詳細を共有いただければと思います。

Thank you for your reply.
I will try it.

こんにちは

行への書き込みは、検索でヒットした件数を元に、エクセルに追加で行を挿入し、ヒットした論文の要旨を行に入力する、ことを想定しております。
<エクセル上でのフローイメージ>

拙い文章となり申し訳ございませんが、ご確認の程よろしくお願い致します。

以下が試してみた内容となります。
一度変数に入れた後、「データテーブルをExelに書き込み」を実施した際はターゲットで指定ができず、入力を上書きしてしまう形になりました。
一度変数に入れた後、「セルに書き込み」を実施した際はターゲット指定はできるのですが、入力内容が「DateTable」のみとなってしまい、変数の内容が反映されない形となりました。

アプローチの方針としては以下の通りとなると思います。

途中で行を挿入するのであれば、繰り返し(EXCELの各行)を使うよりは
範囲読み込み後、繰り返し(データテーブルの各行)で処理したほうが良いかもしれません。
(処理の途中で行番号が変化するので)

あるいは別の表に書き出すのであれば、どちらでも良いかもしれません。

既存の表に挿入するのであれば
・表抽出で取得したDataTableから行数を取得する
仮にDataTableをExtractDataTableとすると ExtractDataTable.Rows.Count で行数が取得できます。
・上記行数を件数列に書き込む
・件数から挿入すべき範囲を特定して、行挿入する
・範囲書き込みでExtractDataTableを適切な場所に書き込む

別表に書き出すのであれば
・ExtractDataTableにキーワードと件数列を追加して値書き込み
・直前に処理したDataTableとマージ
・最後にEXCELに書き出し

処理としては後者の方が簡単と思います。いかがでしょうか?

返信が遅くなり申し訳ありません。

ご教示いただきありがとうございます。
UiPath使用の経験がほとんどなく、別表に書き出すプログラムの作成イメージが湧きません。
使用するアクティビティや詳細なフローを頂けますと幸いです。

大変恐縮ですが、ご確認の程よろしくお願い致します。

こんにちは

イメージとしては例えば以下のようになると思います。

ご回答ありがとうございます。
お忙しいところ、添付資料を用意して頂きありがとうございます。
DataTableをマージし、エクセルに書き込む動作を実行することができました。

マージ後書き込んだ際に気が付いたのですが、
表データを抽出した後に余計な行(空白行)を取得しているため、削除したいと考えております。
下図のようなアクティビティを用いて実施しようと考えておりますが、DataTable内の空白行指定・削除方法の知識が無いため、ご教示いただけますと幸いです。

繰り返しと条件分岐でも可能ですが、このケースですとデータテーブルをフィルタアクティビティを使った方が楽かと思います。

ご回答頂きありがとうございます。
無事解決することができました。