SSブログ

桁数揃えの方法 [Winactor]

Excel表のとあるNoを3桁で揃えて、システム側へ入力するシナリオを作成していました。
1→001
2→002
となるような。

しかしこういう変換をしてくれるようなライブラリが無く、Excel表はPowerQueryで下ごしらえしたうえでリストを読み取るようにしているのでPowerQueryでも加工ができないか調べてたのですが、やっぱり見つからずで。
仕方ないのでExcelの書式設定で「000」のユーザー書式を設定しました。

ホントにないのかなぁ、と気になったので、帰宅後検索してみるとこの記事を発見
ExcelPowerquery指定桁数になるまで文字を埋める方法

目から鱗でした( ゚Д゚)
1を0001としてから、後ろから3桁切り出せば001になると。
はぁ~、なるほど。

これならWinActor側でも対応できそう。
文字列連結(2つ)+文字列切り出し(後方何文字分)で
メンテナンス性と、処理速度を考えたらPowerQueryで処理した方が良さそうなので、今回はExcelでやろうと思います。

nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実14 画像マッチングのトラブル [Winactor]

EXCELのPowerQueryでデータ読み込み後、処理を行うシナリオを作成して運用を始めました。
EXCELを開いたときにデータを読み込むように設定をしてて
それが完了してから次の処理に移る。という処理を画像マッチングで対応。

画像マッチングでEXCELウインドウ左下部分で「準備完了」と出たら判定Trueとし、
Falseの間はマッチングを繰り返す。という処理にしてました。

いざサーバーで動かしてみると、シナリオ実行完了のメールが届かない;;
動作状況確認の為にリモートで接続すると、動き出します。
上記のループ処理でTrueにならず、ずっと画像マッチングを繰り返しているのはなんとなくわかったのですが、それがサーバー側で動作させると無限ループしてリモートで接続するとTrue判定が出て処理がすすむ。というのがなぜそうなるのかがわかりませんでした。

社内のFAQを見ると、ヒントになるようなことが書いていました。
結局なんだったかというと、サーバー側の画面解像度はFullHD(1920×1080)でリモートで接続した場合は1920×1200になっていました。
20200908-001.jpg
ちょうどマッチング判定の箇所が解像度の差に当たるところに入ってしまい、サーバー側で動かした時にTrueにならないことが原因でした。

サーバー管理者に相談したら1920×1200の解像度に変更してくれました。
併せて念の為、ウインドウ位置・サイズをFullHDで収まるように調整し、
ループ処理もカウンタで繰り返し回数をカウントして、既定の回数に達したらエラーを出すように変更しました。
この対応で以降今のところ無縁ループになることはなくなりました。
nice!(0)  コメント(0) 

Winactor pdfを操作してみる [Winactor]

これまでは決まったフォームに指示内容を登録して、期間業務システムに入力する。
という動作を主にやってきましたが、次はpdfできた書類をフォームに落とし込む作業をRPA化していくことにしました。

IEの操作が中心でしたが、これからはpdfの操作が中心になります。
具体的には注文書なのですが、注文書はフォームが決まっているので、
決まったところの文字を取得し、基幹システムへ入力するためのフォームに落とし込みます。

まずはAcrobatReaderでテキスト情報を読み取れるかやってみます。
AcrobatReaderで注意することは、保護モードをまずは解除することです。
マニュアルに記載されてるのですが、保護モードが有効になっているとWinactorでちゃんとウインドウ選択ができません。
AcrobatReaderを起動し、[編集]-[環境設定]で設定画面を開き、セキュリティ(拡張)を選んで、「起動時に保護モードを有効にする」のチェックを外します。
20200621_001.jpg
あとこれは必須ではありませんが、「一般」にある「単一のショートカットキーでツールを使用可能にする」にチェックを入れました。

これで準備完了
サンプルのpdfを元に各項目を選択していくのですが、これがなかなか曲者でした;;
結局Readerでのテキスト取得はあきらめました。
IEでは画面上でShiftキーを押しながらMAXテキスト範囲が表示される範囲の始点・終点をクリックしたらテキストが選択できたのですが、pdfではどうもうまくいかない;;
長さが可変するテキストに対し、その長さに合わせて終点のクリック位置を変えないとうまく選択できないという問題がありました。
それがダメなら、テキスト上でダブルクリックしたらいいかと考えてやってみましたが、これpdf作成時の構成の問題だろうと思うのですがこれでうまく選択できる箇所とできない箇所がありました。

今の私には難易度高すぎ。ということで、pdfから直接読み取りするのはあきらめ、AcrobatDCを購入して一度excel形式でエクスポート。その後、excelからテキスト取得することにしました。
てことでexcelでエクスポートする作業までをRPA化しました。
割とAcrobatはキーボードショートカットが充実してるので割と簡単にシナリオは作ることができました。

あとはexcel立ち上がってから、定型フォーマットにコピー&ペーストしていきます。
これでひとまずexcel落とし込みまで完了です。
あとは基幹システムへの登録部分の作りこみと、pdf→excel変換をいろんなパターンで実践して、同じ位置でexcel出力できるか。の検証になります。
nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実13 運用その後 [Winactor]

WinDirectorにスケジュールで稼働させて3週間ほど経過しました。
まだ若干エラー停止するものの、エラー箇所を確認し、シナリオを書き換えて対応しています。

まだ試験的な運用からは脱していないので、実績積みながら安定稼働を目指している状況

今後は稼働したシナリオをグループ内のユーザーに積極的に利用してもらう展開が必要になります。
新しいことをするときはだいたいそうですが、なかなか自分のルーティーンを変えるというのは難しいので、そこにどう切り込みか。が悩ましいなと思ってます。
もちろん、自分の手でできるなら無理にRPAでしなくてもいいと考えてるので、なんでもこれでせよ。
ということは考えてないのですが。
業務に波もあるので、忙しいときは結構文句言ってても、それが自分の負担にならない程度なら、結局新しいものには手を付けなくなるので、結局利用が促進されないのが、これまでのパターンなので。

導入~運用に費用もかかっているので、実績・結果もだしていかないといけないのですが、どうやって早く実績を積み上げていくか、がこれからの課題です。
タグ:RPA Winactor
nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実12 データ一覧の代用 [Winactor]

前回の続き

名前を付けて保存の問題は結局解決できなかったので、別のアプローチを試みることに。
1つのexcelファイルに2ユーザー分開くことに今なってるので、
最初に複製を保存することにしました。
元のファイルは繰り返しで使用。
結果書き込みは複製ファイルを使用して書き込みすることにしました。

これで作成してみると、うまく保存することができました^^

複製保存でちょっとつまづいたのは、複製保存前にexcelファイルを開いた状態にしないといけなかったことです。
excelを開く

日付取得~整数化

ファイルパス&ファイル名生成

名前をつけて保存
といった手順です。

これでやっとデータ一覧の問題を解決することができました。
これでWinDirectorにアップロードすることができます。
タグ:RPA Winactor
nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実11 WinDirectorの仕様【訂正】&データ一覧シナリオの再作成 [Winactor]

前回の記事でリモート接続した状態でWinDirector経由で実行したらリモート側の接続が切れるとかいてたのですが、実際動かしてみたところ、リモート上で動作するだけでした。
別でシンクライアントでモニター接続状態にしないと、自動実行には支障ありで。
これは管理者に連絡して、リモートつなぎなおすしかないと、わかりました。

が、当面は動作確認するためにこの状態で様子見することにしました。

レクチャーの後日、さっそくWebからWinDirectorへアクセス。
スケジュール設定をしました。
しかしここで問題発生。
データ一覧にExcelファイルを指定しているシナリオがありましたが、WinDirectorでジョブ登録際は、csvファイルしか受付てくれないことがわかりました;;
これは一度前段階でexcelファイルをcsvにする処理が必要で、リストが違えばジョブで登録しているcsvファイルを上げなおさないといけません。。。
う~ん、これは根本的に作り直しが必要のようです。

代わりの案はないか、調べていたら、繰り返しノードの繰り返し回数の設定で
データファイルを指定すると、順番に変数に行毎のデータを読み込んでくれることがわかりました。
データ一覧と違うのは、リストの変数を書き換えても反映されない。ということです。
それなら変更したデータをセルにデータを設定するノードを作って書き込みし、最後に保存すればいいかと思ってそのようにしました。
が、繰り返しで作動中はexcelファイルはオープンされてる状態で、その中でECXELデータ書き込みを行うと読み取り専用で開いてしまいます。
それならばと、最後のファイル保存を「別名で保存」して閉じる。という動作にしました。

これで実行したら、エラーは出ないものの、なぜか保存ファイルが見つからない。
フォルダやファイル名は間違いないのですが、結局保存ファイルがどこにいったのか、保存されてるのか結局わかりませんでした。
ただ繰り返しノードで指定したexcelファイルは繰り返し終了後はクローズされるみたいで、繰り返し終了後、読み取り専用で開いた方に、編集可能になった旨ダイアログが出てきます。
これを補足し編集ボタンを押し、読み取り専用状態を回避すればいける?
とこれもシナリオ書き換えて実行してみましたが、結果は同じ。

なんでなのかさっぱりわからん。

タグ:RPA WinActor
nice!(0)  コメント(0) 
共通テーマ:仕事

Winactor備忘録 [Winactor]

※変数に文字列を足す・・・変数前後を%で囲む %変数%
excelセルでA列のセルを順番に下の行に移動
A%変数%で変数の値設定する
※時刻を整数にする
 ・現在時間を取得する
 ・文字列の置換で「/」を空白にする(置換後の値は何も入れない)
 ・文字列の置換で「:」を空白にする(置換後の値は何も入れない)
 ・文字列の置換で「 」(スペース)を空白にする(置換後の値は何も入れない)
 スペースは日付と時刻の間に1文字スペースがあるので、このスペースを削除する
※繰り返し条件
 繰り返し条件は条件に合致する=true の場合に繰り返し処理を行う。
 →プログラミング経験のある人なら、逆に考えてしまいがちかと思います。
  だいたいループを抜ける条件を指定するので。
  ANDやORについても逆になる。
  無限ループを作って、条件分岐で片方の条件に繰り返し終了のノードを作った方が
  わかりやすい。

タグ:Winactor RPA
nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実10 WinDirectorに [Winactor]

本日、WinDirectorについてレクチャーしてもらいました。
やっと自動実行の入り口まで到達。

が、説明を聞くとなかなか厄介な感じで・・・
Windirectorで実行と、Winactorで手動実行は共存できないらしい。
Winactorでサーバーからの指示を受け付ける設定にしたら、手動では動かせないそうです;;

この設定を入り切りすれば、手動/自動は切り替えれるようですが、
これをシンクライアントで運用してると、リモートデスクトップで接続→手動環境で実行→Windirector制御に戻す→切断。としてしまうと正しく動作しないそうです。
Winactorの動作時にはモニターが接続されてることが必要で、リモートデスクトップで切断してしまった後にサーバーからの実行指示があってもモニターが無いのでエラーになるそうです。
そういえば、リモートデスクトップで実行中、最小化するとエラーになる。っていうのは同じ理屈か。
ということがわかりました。
普通にPCで実行環境を作れば、フレキシブルな運用ができるかもしれません。

回避するには、リモートデスクトップ接続状態で接続したまま、Windirectorから何かシナリオを実行し、実行PCを強制で制御をWindirector側にもっていかないといけないようです。

あと、実行時にエラーになると通知をメールで受信できたりするのですが、
どこでエラーになったかは分からないそうです。
ブラウザでWindirectorにアクセスしたら、エラー時の画面コピー等が取れるようですが、実行者のみに制限されてるそうなので、Debugは難くなりそう。

まだユーザーid等いただいてないので、届き次第Windirectorでの設定を進めていきたいと思います。
タグ:RPA Winactor
nice!(0)  コメント(0) 
共通テーマ:仕事

RPAの現実9 本日成功 [Winactor]

ウインドウが閉じれないエラーの対処をし、本日改めてシナリオを実行。
一通り動作させることができました。やっと。

金曜日は「ウインドウ待機」で印刷ウインドウが閉じたら、にしてたのですが、
今日実行前にやっぱりプレビューウインドウが全面に来たら。
の条件に変更して実行しました。
この変更が功を奏したのかは謎ですが・・・

シナリオが一通り動くことが確認できたので、お上にシナリオを申請します。
(社内ルールで申請制になっているので)
申請と同時に、これまで開発環境で実施していたものを次は実行環境での動作確認を進めます。

一歩前進です。
タグ:Winactor RPA
nice!(0)  コメント(0) 

RPAの現実8 今日も失敗 [Winactor]

昨日のファイル保存を改善したシナリオで本日稼働させました。
ファイル保存の問題はクリアしたのですが、pdf印刷処理後にウインドウを閉じることができませんでした。。

現在データとしては2行用意してるのですが、2行目を実行した際に、1行目のウインドウが残ってしまっているので、2行目を実行しても1行目のウインドウをつかんでしまい、1行目のpdfが2個作成されてしまいます;;

ログを見ると、ウインドウを閉じるノード自体は実行されています。
動作を見ていると保存ボタンでENTER直後にウインドウを閉じるので、
保存処理が終わらないうちに閉じる処理をしてしまってる?
という過程をして、保存ボタンでENTERの後、「ウインドウを待機」ノードを挿入。

ウインドウが操作できるまで(だったかな?)に設定して本日は保存終了。

これでまた週明けチャレンジします。

※ちなみに、ウインドウ識別ルールで複数ウインドウが該当する場合、どうやって選択するのか調べたら、ユーザーフォーラムに載ってました。
ウインドウ識別名の質問
同名のウインドウがある場合は、最初に掴んだウインドウをずっと保持し続けるようです。
そのため「ウインドウ識別クリア」というノードがあるみたいです。
保険でこの処理を入れようか、どうしようか考え中。

タグ:Winactor RPA
nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。