はじめに
こんにちは。今年度から社内PCのキッティングに携わるようになった@Cheeeeeseです。
SetROBOを試し始めて1ヶ月程経ちました。(通常業務の合間にいじってるので、なかなか検証が進みませんが...)
1ヶ月試して思ったことは、記録機能があまり優秀じゃないな🤔ってこと。
Windows内の設定はSetROBOのホームページにサンプルコードがあるから参考に出来るんだけど、アプリのインストールとか設定になると、サンプルがないから自分でコーディングする必要があるんだけど、これがなかなか記録取れない画面が多くてコーディングするのに苦戦するんですよね...
ってことで、今回は記録が取れなかった時の対処法を記載します。
環境
- Windows 11 Pro 21H2 (64bit)
- SetROBO for Kitting V1.9.5体験版
今回やること
うちで導入推奨されているAdobeの「Acrobat Reader」のインストールで、記録が取れないコントロールの操作を自動化します。
「Acrobat Reader」のインストーラーはここから入手。
👉https://get.adobe.com/jp/reader/?promoid=TTGWL47M
操作したい画面はこちら
Acrobat Readerはインストーラーを実行すると自動でインストールが開始されます。
インストールが完了するとこの画面が出るので、「Adobe Acrobat Reader DC を起動」のチェックを外して「終了」ボタンをクリック。
記録を取ってみると...
自動でコードの記述はしてくれるんだけど、コントロールの部分がちゃんと取れていません。
手順(記録が取れない時の対処法)
01.事前準備
記録が取れない場合、そのコントロールの種類と名前を調べて、修正する必要があります。
コントロールの種類と名前を調べるためには「Inspect」を使うので、まずはこちらをインストール。
「Inspect」のインストーラーはこちらから入手できます。
👉https://developer.microsoft.com/ja-jp/windows/downloads/sdk-archive/
02.「Adobe Acrobat Reader DC を起動」の種類と名前を調べる
1)「Inspect」を起動して、「Adobe Acrobat Reader DC を起動」のチェックボックスにフォーカスを当てます。
2)「種類=ControlType」と「名前=Name」を確認する。
※指定するコントロール名が少しでも違うと動かないので、表示されているNameはコピーする!
これで「Adobe Acrobat Reader DC を起動」のコントロールの種類は「CheckBox」、名前は「Adobe Acrobat Reader DC を起動」と分かります。
03.「Adobe Acrobat Reader DC を起動」のコードを修正する
記録された.Unknown("Internet Explorer_Server", "Internet Explorer_Server").Click(97, 84);
を修正します。
まずは「Unknown」のところをコントロールの種類に修正します。
調べた種類は「CheckBox」だったのですが、記録が取れなかったコントロールの場合、必ず「UI」が付くコントロールの関数を使用しなければいけないみたいなので「UICheckBox」に修正します。
次にコピーした名前を括弧の中に記述します。
最後に操作のところがClickになっているので、ここをチェックを外す操作「Uncheck」に修正します。
//「Adobe Acrobat Reader DC を起動」のチェックを外す
PlayLib.Window("Adobe Acrobat Reader DC インストーラー").UICheckBox("Adobe Acrobat Reader DC を起動").Uncheck();
04.「終了」ボタンのコードも同様に修正する
「終了」ボタンのコントロールの種類「Button」、名前「終了」。
//「終了」をクリックする
PlayLib.Window("Adobe Acrobat Reader DC インストーラー").UIButton("終了").Click();
記録できなかったコントロールの修正完了!
05.実行
最後に
修正自体は難しくない。
けど、毎回Inspectを起動してコントロールを調べなきゃいけないのって大変。。。
記録機能の改善を求む。。。
参考にしたサイト
-
SetROBO入門ガイド
→STEP09記録が取れないコントロールの記述方法について - 【SetROBO】No.3 操作の記録が取れないところの修正方法 「Unknown」になる場合