【VBA】UIAutomationで業務改善1
UIAutomation
どうも。RPAをぶっ潰す勢いで開発するjimです✌
もう、色んな企業が導入しているRPA。
しかし!RPAを使ったところで、僕には勝てないということを思い知らせてやろう😆
ってことで、今回は『UIAutomation』使ってWinを自分の手足のように操ってやろうっていう記事です。
とりあえず、「『UIAutomation』って何?」って感じですよね?
ユーザーインターフェースオートメーションといって、アプリケーションのエレメントを取得して操作するためのAPIです。
VBAと聞くとエクセル操作しかできないと思われたりしますが、API使えば自動化の幅は広がります😄
で、実際には、他のAPIと組み合わせてマクロを組むことになると思います。
例えば、『UIAutomation+ハンドルの取得&送信』みたいな感じ。
1、まずハンドルを取得
2、そのハンドルのエレメントをUIAutomationで取得して実行
3、エレメントorハンドルを取得するまで無限ループ(待機)
そんな感じ。
自動化の対象は?
そもそも、何で『UIAutomation』を使おうと思ったかというと、派遣先の社内システムが、IEじゃなくて何だかよくわからないヤーツで作られてたから😅
これが、IEだったら『Internet Controls』と『HTML Object Library』使って自動化できるわけだけど😥
勿論、『UIAutomation』でIEも操作できますよ。
あと、Google Chromeはエレメントが取得できないっぽいけど、Microsoft Edgeは取得できるっぽいので操作できるかも。
Eclipseなどのエディタ類もエレメント取得できるっぽいから、プログラミングにプログラミングさせることも出来ちゃうかも。
まあ、パソコンの殆どが自動化の対象だと思っていいかもしれません。
『かも』ばっかで済みません。実際に操作したのは社内システムだけなので。。。
エレメントの取得について
IEを自動化したことある人なら分かると思うんですが、取得方法はクリソツです👈
ただ、IEのように開発者ツールがあればいいのですが、ないものを操作するときはキツイです。。。
そゆときは『ぴろぴろ~』を使ってエレメントのIDや名前などを調べます。(自己流)
『なに?ぴろぴろ~』ってと思いました?何かぴろぴろするやつがあるんです。
ダウンロード(download archiveから)⇒UIAutomationSpy
releases\44\93a26058-f33a-4f5b-bbbe-4a93b0071e00
赤字のファイルを『UIAutomation.0.8.7B3.NET35.zip』に変更して解凍します。
その中の『UIAutomationSpy.exe』がぴろぴろです。
開いてStartをクリックすると、ぴろぴろし始めます。
カーソルを取得したいエレメントに合わせます。
今回はエッジのタブを取得してみました。
んで、そのエレメントのIDやNAMEを指定して操作するわけなんだけど、今回はここまでで。
またね✋
ディスカッション
コメント一覧
まだ、コメントがありません