UIPATHでのACCESS2016の制御に関して

ACCESS2016のクエリーを利用してDBからデータを抽出して
excelにエクスポートするワークフローを作成しました。

クエリーの名称をイメージで認識させクエリーを実行するところまではよいのですが、
ACCESSのデータテーブル作成までACCESSから確認を求められます。

処理としてはUI要素が認識できなくイメージで画面の一部を認識する方法をとりました。

image existsを用いて表示されるまで待ちイメージを取得してTRUEであれば
OKボタンをイメージでクリックするようにしています。

処理的には正確に行きますがすごく時間がかかります。

画面出現までは、while文を利用せずtimeoutの数値を50000にしています。

UIPATHでのACCESS操作に関しての情報が少なく悩んでいます。

こうすればUIPATHからのACCESSの動作が早くなるということに関して
ご教示いただければと思います。

@matrix99999

何点か気になる点があるので、教えて頂けますか。

①まず、セレクターでの要素認識と比較し、画像認識は、遅いです。
しかしながら、ACCESSの処理自体に時間が掛かっていた場合は、
どうしようも有りませんので、一度、手動操作の時間と比較して
見てください。

②そもそもとなりますが、ACCESS操作の自動化で要素認識が出来
ない経験が今までありませんでした。
認識できないとは、具体的に、どの様になるのでしょうか。
要素指定ができないのでしょうか。それとも「セレクターが見つかりません」
となるのでしょうか。画像認識は、お勧め出来ないので、こちらから解決し
た方が良さそうです。

2 Likes

@Jun1 さんが書かれているように、可能であれば、要素認識を使う方が良いと思います。
画像による文字の認識は、処理速度が落ちる以外にも、OSやアプリケーションの更新で、動かなくなることが多々ありますので。

ACCESSの特定のクエリから、Excelにエクスポートするだけなら、VBAで実装して、コマンドラインから呼び出すほうが、確実かもしれません。

1 Like

ありがとうございます。
UIの認識が遅い点と、セレクターが見つかりませんという事象があります。
ご指摘のように画像認識はしたくのが正直なところです。

①まず、セレクターでの要素認識と比較し、画像認識は、遅いです。
しかしながら、ACCESSの処理自体に時間が掛かっていた場合は、
どうしようも有りませんので、一度、手動操作の時間と比較して
見てください。
>手動操作の時間が断然早く、UIPATHで行うと数十秒でできるものが5分かかることがあります。

ありがとうございます。
ADOを利用して、excelからaccessクエリを実行させること考えてみます。

今後もaccessを利用してUIPATHでWF作成ありますが要素認識がうまくいかなく
難渋しています。
解決できるポイントあればご教示していただきたく思います。

@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を考えていますがうまくいきません。

ご教示お願いします。

<は大文字にしました。

@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を取得して再度確認、別機でどうなるかも検証必要と思いました。

@matrix99999

こんにちは!

関係あるのか分かりませんが、
今、稼働しているもので実績のあるセレクターは、
ワイルドカードはなく、そのままtitle=’Microsoft Access’
です。
後、違いは、2行目にctrlidの指定もあるぐらいでしょうか
もし、うまく動作しなかった場合は、お試しください。

2 Likes