見出し画像

「UWSCというWindows自動化ツールが超便利だった」ようだけど本当はもっと便利な話【UWSC】

「UWSCというWindows自動化ツールが超便利だった」
UWSCというWindows自動化ツールが超便利だった」という、2017年頃の記事を読みました。
データを古いシステムから新しいシステムに移す必要があり、いったん対象のデータをExcelなどに落として、加工修正やごみデータのクリーンアップを加えて、整理したうえでExcelからターゲットのデータベースに入力したということのようです。

Windowsの動作自動化ツールUWSC
UWSCでパソコン自動化!単純作業で消耗しない仕事術」2015年頃の記事です。こちらを参考に、動作を記憶させて再生したようです。

UWSCでどんな作業ができるか
この方は、古いシステムからExcel。Excel から新しいシステムへデータを移したようなのですが、もう少しだけよく調べた方がよかったのではないかと思いました。「COMオブジェクト」、「スクリプト関数」の存在について一切触れていないからです。

UWSCを使う上でのコツ
UWSCを使うコツについても書かれているのですが、それは正確には「記録」と「再生」の機能を使うコツのこと。私は UWSC を使うコツは「ネット上の資産を活かすこと」だと思っています。
記録を再生して使うだけでも超便利だったようですが、「COMオブジェクト」、「スクリプト関数」を使っていれば、もっと別の体験をできたのではないかと思っています。

例えば、「Excelのカラムサイズを変えたりすると位置がずれる」とあるのですが、「COMオブジェクト」を使って

Excel=GETACTIVEOLEOBJ("Excel.Application")
Excel.ActiveSheet.Cells(r,c).Value=値

のようにすれば、カラムサイズの影響は受けないし、Excel をアクティブにする必要もなかったはずです。(画面の切り替えをなくすことは処理時間に大きく影響します)

「早く操作しすぎると記憶されない」とあるのですが、KBD関数、SCKEY関数を使って操作できますので、ゆっくり操作して記憶させる必要もなかったはずです。(編集で必要に応じてキー操作の追加や削除を行なうことは準備に要する時間に大きく影響します)

「ゆっくり操作する分作業が遅い」とあるのですが、ゆっくり操作した記録をトレースさせているのが遅い原因なので、適切にプログラミングをしたら人間が手作業で対抗するのは無理な速度と継続時間で処理されたと思います。(適切な待機処理、リトライ、エラー処理などを組み合わせられることは処理の正確性や継続性に大きく影響します)

「キーボードの打鍵に弱い」とあるのですが、KBD関数、SCKEY関数、BTN関数、CLKITEM関数などを環境に応じて適切に組み合わせて操作できるものですから、画面を分析して適切な手法を選択する必要があったのかも知れませんね。(記録の再生に頼らざるを得ない段階と編集が可能な段階ではUWSCのパフォーマンスに大きく影響します)

「固まりに分けてキャプチャーする」とあるのですが、

MSGBOX("中断!")
exitexit

とすることで、任意の場所で強制的に中断できます。最初から確認をしながら、ちょとずつ開発を進めることも可能ですね。(編集ができるようになることは準備段階の作業性に大きく影響します)

記録を修正しながら、開発を進める方法でも必要なレベルの自動化は実現できたようですので、UWSCの使いやすさを実証していると思います。

ですが、画面を分析して適切に「COMオブジェクト」、「スクリプト関数」を利用していくことで、安定して飛ぶような速度で処理していく UWSC を体験できるかもしれません。(是非、ご自身で体験し評価していただきたいです)

お試しあれ!

誰もが無料でWindows自動化を始め、生産性を向上し続けられるようにする」

システム入力については、こちらをお試しあれ!

システム画面へのデータ入力と検索、Excel へのデータ取得のサンプル

セレクトボックスについては、こちらをお試しあれ!

セレクトボックス(チェックボックス)の設定サンプル

入力モードの切り替えや特定キーの入力まで待機させたい方については、こちらをお試しあれ!

GETKEYSTATEの設定サンプル

セレクトリストの設定値を取得、設定可能な候補を抽出、セレクトリストの設定がしたい方については、こちらをお試しあれ!

GETSLCTLSTの設定サンプル


この記事が気に入ったらサポートをしてみませんか?