「フォームを作成」の「チェックボックス」にUiPathで動的に生成したJSONファイルを適用したい

複数のECサイトで買い物をするツールを作りたいと思っています。
文章は長いですが、添付画像を見てもらえるとやりたい事がわかるかと思います。

「お買い物リスト」というExcelファイルをあらかじめ自作しており、そこには1行に
・「ECサイト名」
・「商品名」
・「商品のURL」
が記載されていて、それが100行程度あります。
「お買い物リスト」の行は、今後も増えたり減ったり内容を変更する事があります。

「お買い物リスト」をデータテーブルに読み取り、すべての商品名をリスト型変数「lis_商品名」に格納してあります。

「lis_商品名」を利用して、UiPath上でJSONファイルを動的に作成し、それをフォームのチェックボックスのJSONファイルとして入力する事によって、チェックボックスと商品名がセットとなる商品一覧をズラーっと表示させ、買い物したい商品のみチェックボックスにチェックを入れ、チェックされた商品名を1つの変数に格納して出力する。

それを元に、すでに読み取り済みのデータテーブルの中からサイトとURLを判別し、それぞれに該当する処理へと分岐していく、という処理を実装したいのです。

ChatGPTとひたすらやりとりをしてJSONファイルを動的に生成できたものの、フォームのチェックボックスにそのJSONファイルをコピペしても全く機能しませんでした。
(そもそもチェックボックスへのJSONファイルの入力の仕方もはっきりわかっていません。)

上記とは他の方法でもいいのですが、もしJSONファイルの自動作成からチェックボックスを生成しチェックしたものを買物するという方法が可能であればどなたか教えて頂きたいです。

ただ、「お買い物リスト」に1列追加して、その列に、実行したい行のみにチェックをいれておく(〇などを入力しておく)ような方法は把握しています。
そうじゃない、もっとスマートな方法でお買い物をできるようにしたいのです。

UiPathのバージョンは個人使用ですので、最新バージョンです。
もう何日もググったり、ChatGPTを使ってたり、UiPathの公式サイトを調べたりと色々試していますが、うまくいきません。

面倒な相談かもしれませんが、よろしくお願いいたします。

こんにちは

JSONを経由させる意図が良くわかりませんが、やりたいことを勘案すると、DataTableをそのまま(あるいは必要な部分を抜き出して)DataGridに放り込めば良いように思えます。

1 Like

回答頂きありがとうございます。

チェックボックスのコンポーネントのJSONファイルをいじることでチェックボックスや商品名を追加できたので、JSONファイルを動的に生成してチェックボックスに取り込むと、自動でチェックボックス付きの商品一覧ができるんじゃないかなと思って、他にはやり方が思いつかなかったからです。
ですので、他に方法はあるかなとも考えそれも質問した次第です。

まさに添付頂いた画像のように商品名とチェックボックスをセットでずらーっと表示させたい感じです。
データグリッドを触ってみましたが、全く使い方がまだわからずの状態ですので調べて勉強してみます。

Yoichiさんのおっしゃる方法をとれば、データテーブルが10行なら10行、100行なら100行、というように自動的に商品数に合わせて、添付画像のように一覧が表示されますでしょうか?

そのようになります。以下サンプルですので、BuildDataTableで行を追加・削除してみてください。

Sample
Sample20231013-1aL.zip (3.5 KB)

build data taleb アクティビティが必要なのですか?

お買い物リストのExcelファイルをデータテーブル(dt_ItemLIst)として読み込み、そのデータテーブル(dt_ItemLIst)を create form アクティビティーに渡すと最初のお返事で添付されていた画像のように商品一覧が自動でできる。

というのをイメージしているのですが、、
ちがうのかなー、、

BuildDataTableは必須ではありません。上記ではDataTableを生成するために使っているだけです。
ただチェックボックスにするためにはColumnのDataTypeがBooleanである必要があるようなので、その点の工夫が必要と思われます。

2 Likes

そうなんですね。
勉強してやってみます。
色々ありがとうございました。

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