へっぽこヘタレシステム管理者の管理人です。
管理人の職場では、RPAとしてWinActorを使っていますが・・・
最近は、あまり触ることも無くなっており、
久々に触ろうと思ったら・・・
すっかり使い方を忘れていました。
また、以前作った・・・
【シナリオファイルと同じフォルダにあるエクセルファイルを順番に開いて入力する】
が動かないことに気づき・・・
修正することにしました。
修正する前のシナリオファイルでは、
1つ目のエクセルの入力が終わったら、
次のファイルは開くのですが、入力が始まりません。
そういえば、実際に試した事は無かったような・・・
さて、
修正後のシナリオは次のとおりです。
- 1.フォルダ内のフィアル数を取得
- 2.ファイル名を順番に取得
- 3.拡張子がエクセルだったら次へ
- 4.エクセルの行を最後の行まで読み取り入力させる
- 5.エクセルファイルを保存して閉じる
- 6.読み取り開始行を2に設定変更
- 7.エラーカウント行(エクセルの読取結果のカラムに〇を付ける為に使用)を2に設定変更
- 8.次のファイルを開く
赤枠の部分を追加しました。
実は、これまでの作業では、実際に分割したセクセルを同にWinActorに掛ける事が無かったので、
この部品が動かないことに気づかなかったわけです。
それが、先日、複数のエクセルファイル(同じフォーマット)を順番にWinActorに掛ける事があったので、動かないことに気づいたわけですが・・・
最初は、原因が分からなくて、結構悩みました。
しかし、原因が分かってしまえば、実は簡単なことで・・・
- 6.読み取り開始行を2に設定変更
- 7.エラーカウント行(エクセルの読取結果のカラムに〇を付ける為に使用)を2に設定変更
たったこれだけでした。
繰り返し作業で、初期値を戻すことは、プログラムを書く上では、けっこう当たり前の所作なのですが・・・
WinActorの様なGUIだと・・・
思いのほか、気付けないんですよね。
実際にテストするサンプルデータも無かった事から・・・
かなりいいかげんなテストデータでWinActorに掛けると、
1つ目のファイルが終わり、2つ目のファイルは何故か開くけど・・・
何故か入力が始まらない・・・
2つ目の行が1つ目のファイルより行が多ければ気づけたかもしれませんが・・・
なにせ、テストデータがいい加減(1つ目のファイルをコピペしただけ)なので、行数も同じ。
そうすると、当たり前ですが、
1つ目のファイルが終わった時点で、読取開始行を2に初期設定していないので・・・
2つ目のファイルの途中の行から読もうとするわけです。
そうなれば・・・
その行にデータが無ければ、読めないのは当たり前なんですよね。
何故か、こんな簡単な事に気づくのに、結構時間が掛かったので、
かなり自己嫌悪になりました。
なお、シナリオを修正してからは、
無事に複数のエクセルファイルを順番に処理してくれるようになりました。
後は、サブルーチンでシステムに合った入力処理を入れ込めば・・・
汎用的に使えます。
こういう基本的な部品って、毎回作るのって結構めんどうくさいので、
作っておけば便利です。
あとは・・・
- タブキー
- エンターキー
- CTRL+C
- CTRL+V
等のよく使うキーも部品として作っておくと便利ですね。
WinActorの場合は、キー入力一つとっても・・・
- 押す
- 離す
を設定しないといけませんし・・・
押す・離すの間に、100ミリ秒くらいのウエイトも入れないと・・・
早すぎて、画面が反応しない場合もあるので・・・
これも毎回、作るのは結構面倒です。
コメント