yuzu
1
Excelから取得した項目をもとに、Webシステムのチェックボックスに自動的にチェックを付ける方法を教えてください。
以下、概要です
Excelを参照し、チェックボックスにチェックする項目を取得します。
取得した項目をもとに、自動的にチェックボックスにチェックを付ける。
ExcelアプリケーションスコープでExcelからデータを取得するところまではできています。
その後、どのようなアクティビティを使用したら、Excelから取得したデータをチェックボックスに自動反映させることができるのか教えていただきたいです。
よろしくお願いします。
Yoichi
(Yoichi)
2
こんにちは
まずは条件分岐とチェックアクティビティをお試しください。
アクションプロパティでチェックするかアンチェックするか選択できます。
yuzu
3
Yoichiさん
こんにちは。
早速ご返信いただきありがとうございます。大変助かります。
条件分岐を追加しましたが、
Conditionの条件式のcellvalue = “1” の記入方法を教えていただきたいです。
cellvalue:Excelから取得したチェックしたい項目
“1” : Excelのチェックしたい項目名
→ "1"は、複数か所チェックボックスにチェックしたい項目名があるのですが、その場合固定の値は指定できないかと思います。どのような値を指定すればよいのでしょうか。
Yoichi
(Yoichi)
4
こんにちは
エクセルのシートを共有いただくことは可能でしょうか?スクリーンショットで結構です。
(内容的に難しそうであれば、ダミーデータでも結構です)
yuzu
5
印刷対象の列が〇になっている、会社コード+会社名をひとつにして
Excelからデータを抽出しています。(例:A会社1、B会社2)

実際のチェックボックスの項目は、A会社1:□ というように表示されています。
Yoichi
(Yoichi)
6
こんにちは
ありがとうございます。
対象のWebでのチェックボックス周りの構造・構成によりアプローチが異なってきます。
もしチェックボックスがHTMLでの表で格納されているなら、データスクレイピングで
特定する方法が早いかもしれません。
それ以外は相対セレクターを使うのが安定するかと思います。
もし可能でしたらUiExplorerを起動して、対象のチェックボックスを指定して
どのような属性を指定できるか確認いただけないでしょうか?
(スクリーンショットが取れればそれを共有いただければと思います)
yuzu
7
早速ご返信ありがとうございます。
わかりずらいかもしれませんが、チェックボックスは一行ずつ認識されるようになっています。
この場合、どちらの方法が適しているのでしょうか。

Yoichi
(Yoichi)
8
こんにちは
まずはチェックアクティビティで、うまくチェックが動作するか確認いただけますでしょうか?
またチェックボックスだけを選択することはできそうでしょうか?
その上で、どのような属性を指定できるかを把握する必要がありますので、
リボメニューにあります、UiExplorerを起動して、これらを選択してもらえ
ますでしょうか→画面に選択可能な属性が出てきますので...
yuzu
9
ご連絡しておらず失礼致しました。
最初にご返信いただいたチェックアクティビティでは動作しませんでした。
チェックボックスだけでは選択することはできず、先ほど返信時の画像のように一行全体が認識されてしまします。
データスクレイピングを試しましたが、チェックボックスやその周辺の大枠は認識されませんでした。データ抽出はできませんと表示されます。
チェックボックスの要素をUIExplorerで認識させました。ビジュアルツリーのlistの配下に各checkboxがありますが、
全てのcheckboxに項目名を指定していますが、なぜか表示されている項目名と表示されていない項目名があります。
Yoichi
(Yoichi)
10
ありがとうございます。
チェックアクティビティが動作しないとなるとクリックアクティビティで
チェックするアプローチを探ることになると思います。
→まずはクリックアクティビティでチェックできるかご確認できますでしょうか?
上記問題なければ、基本的な構成は以下のような感じにしておいて
次にクリックの設定を詰めていきます。
例えばAA101というのが会社コードでしょうか?(ユニークでしょうか?)
上図のように、あらかじめ変数companyCodeにこれを代入しておきます。
次にクリックアクティビティを開き、対象のチェックボックスを選択します。
セレクターエディタで<ctrl name='AA101:xxxxxx' role='check box' />
の部分のAA101:xxxxxxの部分を選択して、右クリックします。
変数を選択できるのでcompanyCodeを選択します。すると
<ctrl name='{{companyCode}}' role='check box' />
のようになると思うので
今挿入した後ろにアスタリスク*を追加してください。
<ctrl name='{{companyCode}}*' role='check box' />
これでテーブルの内容に応じてチェックできると思います。
なおより精度を上げる、あるいは初期状態がチェック状態とアンチェック状態がある場合は
各チェックボックスの状態を取得して判断する必要があります。
こちらはGetAttributeアクティビティを使う必要がありますが、まずは上記までができてから
検討で良いかと思います。
yuzu
11
Yoichiさん
ご返信ありがとうございます。
こちらの間違いで申し訳ありませんが、
初回質問時に「Webシステムのチェックボックスに自動的にチェックを付ける方法」と記載してしまいましたが、正しくは、「ネイティブアプリケーション」システムというものかと存じます。(どのような言語で作成されているかもよくわかっておりません)
ご丁寧に回答いただき申し訳ないですが、
ネイティブアプリケーションシステムというものでも、ご教示いただいた内容で動作可能でしょうか?
クリックアクティビティでは、チェックボックスにチェック可能なこと確認しております。
よろしくお願いします。
yuzu
12
ご教示いただいた通り、セレクター編集画面で
チェックボックスの項目名に以下を入力しましたが、
検証してみると、エラーとなり変数を入れることができませんでした。(アスタリスク*のみは入れられます)
ctrl name=‘{{companyCode}}*’ role=‘check box’
やはりWEBシステムでないため動作しないのでしょうか。。
Yoichi
(Yoichi)
13
こんにちは
初回質問時に「 Webシステム のチェックボックスに自動的にチェックを付ける方法」と記載してしまいましたが、正しくは、「ネイティブアプリケーション」システムというものかと存じます。(どのような言語で作成されているかもよくわかっておりません)
セレクターの内容からWebではないことは確認しておりました。(連結会計システムでしょうかね)
検証してみると、エラーとなり変数を入れることができませんでした。(アスタリスク*のみは入れられます)
右クリックで変数を挿入できないということでしょうか?それとも入力後の要素のValidationで
NGとなる意味でしょうか?
前者は、UiPathのバージョンが古いと対応していない場合があります。
後者は、変数の規定値を設定していないと、変数がどの値を持つか特定できませんので、要素検証に
失敗します。簡易的には右クリックで新規に変数を作成して、その場で規定値を設定すると
要素検証可能となります。
やはりWEBシステムでないため動作しないのでしょうか。。
相性はありますが、いわゆる通常の(Webではない)アプリケーションでも動作しますので、
操作可能な方法を模索していくことになります。