見出し画像

第55回 Excel RPA IT限界集落 UI Automationの雄叫び

今後のスケジュールはコチラ
投げ銭ページはコチラ

登壇者:たーぼー(インコ)
日時 :2023年4月8日 20時
テーマ:Excel RPA IT限界集落 UI Automationの雄叫び

なんかかっこいいよね、このアイコン
画像

自己紹介

画像
本当の現場の自動化の人だぁぁ!(^^

RPAとは

画像
画像
画像

UI Automationとは

画像
パーツとして使われることもあるのね
画像
確かに限界集落向きだぁ。
画像
エレメントツリーってなんかカッコええな

使ってみよう

画像


画像
画像
Inspectを使うとオブジェクトが視覚化できる

サンプルマクロを使って体験


画像
画像
動作確認テスト
画像
画像
画像

001_デスクトップ取得

画像
画像
デスクトップ1が表示されたら動いている
デスクトップがRootElementなのね

002デスクトップ配下のChrome_WidgetWin_1クラスのウィンドウを1つ取得

画像
EdgeでYahooのHPを開いた状態で実行してね
画像
画像
Edgeウィンドウ内のClassName=Chrome_WidgeWin_1
画像
ClassName条件で検索をかけるんだね。
TreeScope_Childrenは1段下の構造まで検索
画像
こんな感じで表示されれば成功
画像

003デスクトップ配下のトップウィンドウ全てを配列として取得

画像
画像
こんどはエレメントArray(配列)使うのね。
CreateTrueCondition=なんでもOKの条件
画像
このArrayはFor Eachが使えないので、0から.Length
画像
こんな感じで出力されれば成功

004_デスクトップ配下のトップウィンドウからEdgeの可能性があるウィンドウ一覧を取得

画像
画像
004ではブラウザのみ取得する条件


画像
3つ表示された。これは個人のデスクトップ状況で違う。

005_取得したEdgeかもしれないウィンドウ一覧から更に絞り込む

画像
画像
右端4文字=”Edge"のものを抽出
最後にActiveだったものが一番先に抽出される


画像
取得できないトラブルでデバッグ中
画像
最後のDebug.Print忘れてただけでした(`・ω・´)b

006_取得したEdgeウィンドウ内の、ドキュメント配置領域を取得する

画像
画像
画像
取得したいエレメントを一意に決定するための条件を模索
SidebarContentsSplitViewで検索すると良さそう
画像
TreeScope_Subtreeで深いところまで検索
画像
TreeWalker機能。Treeの一つ上とか隣とかでエレメント指定・取得ができる
今回は4階層下のエレメントを取得したいので、4回同じコード。
画像
このドキュメント領域を取得できる。
画像
Class名ではなく、UIA_ControlTypePropertyIdで検索
何故か1回目は失敗する。Sleepしてから再実行するといける。
画像
ドキュメントのタイトルが表示されればOK。

007_Sample_006のコードを使い、Edgeのドキュメント配置領域を取得する関数を作成

画像
006までの内容を関数化

008_Edgeで開いたYahooのサイトを自動操作する

画像
画像
007のGetEdge(uia)でドキュメントエリア取得
画像
さらに内部の構造調査
画像
Inspectで見るとこんな感じ…深っ!
画像
今回はナビゲーションウィンドウ内のリンクを操作
画像
”ショッピングへ遷移する”リンクを目標
画像
画像
条件を二つ指定 CreateAndConditionメソッド。ORとかNotもある。
画像
2つ去って↓のグループを取得
Invoke=何か実行するの意味。ここではリンクClick。
画像
画像
最後にInvokeメソッド実行することで、リンクClick実行されて
画像
ショッピング画面が開くぅぅぅ!ひゅぅぅぅぅー。
画像

UIAutomationの仕組みを理解しよう

画像
画像
いろいろ操作できるのね。
画像
画像
画像
画像

UIAutomationのコードを書けるようになろう

画像
画像


画像
画像
画像

その他_実際に使って感じた問題点への解決策

画像

その他_事例紹介

EXクラスを自作することでコーディング量を最小化

画像

基幹システムの画面自体をクラス化することで各要素へのアクセスを容易に

画像

アプリの構造を調査→対象エレメントを取得するコードの作成までを自動化

画像

おまけ

得られた知見を適当にまとめ

画像

CurrentとCacheについて

画像
画像


画像
画像

サンプルマクロと資料

Googleスライド資料

UIA_Explorer_Sample.xlsm は 独自開発ツール。
Inspectが導入できない環境でも構造解析支援ができたり、VBAコードの自動出力機能があります。これを見た人々の感想はこちら!

画像

スケジュールと投げ銭

今後のスケジュールはコチラ
投げ銭ページはコチラ

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

ピックアップされています

#VBAの悩みはVBAerに聞け

  • 46本

コメント

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
昼間は普通の会社員。空いた時間はプログラマー。最近はExcel VBAツール好評(^。^) ココナラ、Twitter等のVBA界隈に出没しています。 スキル発信、便利ツールの共有などができるといいな。 #VBAの悩みはVBAerに聞け
第55回 Excel RPA IT限界集落 UI Automationの雄叫び|しゃあ@やっぱりVBAが好き
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1