RPA体験談【実践編:UiPathのAccessとの連携】

Accessとの組み合わせについてご説明します。
←前に書きましたが、OfficeとUipathの相性は必ずしも良いわけではありません。

 

バージョンにも因って、対応方法は若干違います。
会社のバージョンは古いせいか、AccessのUi要素は殆ど掴めません。
自宅は最新のバージョンなのですが、Ui要素(フォームのテキストボックスとかボタンとか)は掴めています。
(Accessのバージョンにもよるかもしれません)

ただ、要素が掴めたとしても、Accessと一緒に使うには
「ショートカット戦法」は、大事な武器です。

それではAccessを起動して、フォーム上のテキストボックスに文字を入力して、ボタンを押すところまでの作り方をご案内します。
(例えば、インポートファイル名を入力して、インポートボタンを押す感じです。)

1.起動

アクティビティ:OpenApplication(アプリケーションを開く)
プロパティ
Argument(引数)
“/o “”D:\documents\testサンプル.accdb”
※それぞれに ””で囲むのが秘訣です。”/o D:\documents\testサンプル.accdb”とやって動かず、莫大な時間を使いました!
FileName(ファイル名)
“C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE”
Selector
“<wnd app=’msaccess.exe’ cls=’OMain’ />”

※ちなみに「表示上の\は¥」です。
それから私のPCでは、FileNameは以下の通りでした。MSACCESS.EXEの場所を探しましょう
“C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE”

2.フォームを操作する

Accessのサンプルフォームはこれです。

Ui要素が掴めるところ(ボタンやテキストボックスをクリックするところ)は、Selctorを指定します。
例えばClickが上手く動かない時は、SimulateClickにvをつけると解消することが多いのは、他のClickと同様です。

要素を掴みきれないとき、または動きが確実で無い時は、さっさと、あきらめてショートカット戦法を使います。
ショートカット関連のアクティビティは、 SendHotKey(ホットキーを押下)と SetToClipbord(クリップボードに設定)です。

※以下手順の[tab]や[Shift+tab]や[Space][del][ctrl+v] ボタンは全てSendHotKeyを利用します。

3.テキストボックスに文字を入れる

Type Into(文字を入力)も使えるけど、SetToClipbord+SendHotKeyを使う方法をオススメします。

※Type Intoでは以下の現象が起きることがあり、また処理が遅いです。
・次のカーソルに進まないことがある
・半角文字が勝手に全角になることがある。
・EmptyField(入力があった時に上書き)が効かないことがある。

やり方は、こんな感じです。

(1)SetToClipbordで、入力する文字をメモリに記憶させ
(2)ターゲットとなるテキストボックスに移動し(tabもしくはClickアクティビティ)


(3)tabをクリックして、一つ先のテキストボックスに移動する
(4)Shift+Tabで戻ると、テキストボックスの文字を選択した状態(反転している)なので、delで削除する
(5)さっきメモリに記憶させた文字を ctrl+v でテキストボックスに貼り付ける


※もっといい方法があると思うのですが、私はとりあえず、こんな感じでやっています。

4.ボタンをクリックする

Ui要素が掴めればそのまま、Click。(上手くクリックできなければ、SumulateClickにvをつけます。)
ダメならTabで進んでいき、SendHotKeyのSpaceがClickの代わりです。
(Spaceって選択肢が無いので、スペースを入れます。後からみるとわかりづらいので
コメントいれておくと良いです。

 

5.タブで進むためには、フォーム上の「タブオーダー」の整備が必要

テキストボックスやコマンドボタンは、後から取り付けたりしているので、「タブ」で飛ばしていくには順番が整っていないことが多いです。
Access上の「タブオーダー」で順番を整えましょう

 

6.Accessのフォームについて(補足)

ちなみにAccessのフォームの 参照元に テーブルを設定しておくと便利です。
手動で入力する場合、ファイル名だけ変えれば良いですし、
たまに「常に1から入力する」フォームも見ますが、上記の方がぐっと効率があがると思います。

ちなみに設定方法は以下の通りです。

Execute the macro(マクロの実行)を使う方法もありそうですが、
試したことはありません。

もっと良い方法がありそうですが、とりあえずAccessとのショートカット戦法はこんな感じで乗り切ります。

関連リンク  RPA体験談【導入編:UiPathとOfficeソフトの組み合わせ】

 

 

 

 

 

↓日記の目次を作りました。
RPA体験談【目次(主にUiPathについて書いています)】

 

 

前へ

次へ