ACCESS2016のクエリーを利用してDBからデータを抽出して
excelにエクスポートするワークフローを作成しました。
クエリーの名称をイメージで認識させクエリーを実行するところまではよいのですが、
ACCESSのデータテーブル作成までACCESSから確認を求められます。
処理としてはUI要素が認識できなくイメージで画面の一部を認識する方法をとりました。
image existsを用いて表示されるまで待ちイメージを取得してTRUEであれば
OKボタンをイメージでクリックするようにしています。
処理的には正確に行きますがすごく時間がかかります。
画面出現までは、while文を利用せずtimeoutの数値を50000にしています。
UIPATHでのACCESS操作に関しての情報が少なく悩んでいます。
こうすればUIPATHからのACCESSの動作が早くなるということに関して
ご教示いただければと思います。
Jun1
(Jun)
2
@matrix99999
何点か気になる点があるので、教えて頂けますか。
①まず、セレクターでの要素認識と比較し、画像認識は、遅いです。
しかしながら、ACCESSの処理自体に時間が掛かっていた場合は、
どうしようも有りませんので、一度、手動操作の時間と比較して
見てください。
②そもそもとなりますが、ACCESS操作の自動化で要素認識が出来
ない経験が今までありませんでした。
認識できないとは、具体的に、どの様になるのでしょうか。
要素指定ができないのでしょうか。それとも「セレクターが見つかりません」
となるのでしょうか。画像認識は、お勧め出来ないので、こちらから解決し
た方が良さそうです。
2 Likes
Risa
(Mizushina Risa)
3
@Jun1 さんが書かれているように、可能であれば、要素認識を使う方が良いと思います。
画像による文字の認識は、処理速度が落ちる以外にも、OSやアプリケーションの更新で、動かなくなることが多々ありますので。
ACCESSの特定のクエリから、Excelにエクスポートするだけなら、VBAで実装して、コマンドラインから呼び出すほうが、確実かもしれません。
1 Like
ありがとうございます。
UIの認識が遅い点と、セレクターが見つかりませんという事象があります。
ご指摘のように画像認識はしたくのが正直なところです。
①まず、セレクターでの要素認識と比較し、画像認識は、遅いです。
しかしながら、ACCESSの処理自体に時間が掛かっていた場合は、
どうしようも有りませんので、一度、手動操作の時間と比較して
見てください。
>手動操作の時間が断然早く、UIPATHで行うと数十秒でできるものが5分かかることがあります。
ありがとうございます。
ADOを利用して、excelからaccessクエリを実行させること考えてみます。
今後もaccessを利用してUIPATHでWF作成ありますが要素認識がうまくいかなく
難渋しています。
解決できるポイントあればご教示していただきたく思います。
Jun1
(Jun)
6
@matrix99999
こんにちは!
Ui Explorerを使用し、安定するセレクターを探して、設定し直す等の方法があり、
動作しなければ設定し直しカット&トライとなることもあります。
2 Likes
ありがとうございます。
試行錯誤しながら最適なUIを設定し制御しようとしています。
ACCESSクエリーをダブルクリックしたとき、
「テーブル作成クエリを実行すると、新しくテーブルが作成されます」という画面がでますがそれの存在は、Element Existsで確認できます。
存在した場合、trueと変数を返し、
OKをクリックするのですが、clckができません。
selectorですが
<wnd app=‘msaccess.exe’ cls=‘#32770’ title=‘*Access*’ />
<wnd title=‘はい(&Y)’ />
これが実行できず滑ってしまい後続処理にいきエラーとなります。
画像クリックをやめUIでclickを考えていますがうまくいきません。
ご教示お願いします。
<は大文字にしました。
Jun1
(Jun)
8
@matrix99999
こんにちわ!
selectorは、問題ない様に見えます。
エラー停止し、「テーブル作成クエリを実行すると、新しくテーブルが作成されます」
が表示中の状態でClickアクティビティでの「検証」は×ですか?
それと、「セレクターが見つからない」と言うのは、この画面に対するものでしょうか。
Element Existsはデフォルトで3秒しか待ちませんのでFalseの方に行っている可能性ありませんか?
後、Element Existsの準備完了まで待機はNONEを指定した方が良いかも知れません。
1 Like
ありがとうございます。
selectorでしたが、
<wnd app=‘msaccess.exe’ cls=’#32770’ title=’*Access*’ />
<wnd title=‘はい(&Y)’ />
title=’*Access*’ がOKな場合とダメな場合がありました。
再度UI要素を取り込み、titleで取得したものに変えるとうまく動作しました。
title=’*Access*’ でうまくいくものといかないものがあります。
excelの場合は、title=’*excel*’ で問題なく動作しましたがaccessは
癖がある感じでした。
UIを取得して再度確認、別機でどうなるかも検証必要と思いました。
Jun1
(Jun)
10
@matrix99999
こんにちは!
関係あるのか分かりませんが、
今、稼働しているもので実績のあるセレクターは、
ワイルドカードはなく、そのままtitle=’Microsoft Access’
です。
後、違いは、2行目にctrlidの指定もあるぐらいでしょうか
もし、うまく動作しなかった場合は、お試しください。
2 Likes