3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SetROBO】Class名を指定してコントロールを操作する

Posted at

はじめに

こんにちは。今年度から社内PCのキッティングに携わるようになった@Cheeeeeseです。

SetROBOを使ってキッティングしていく中で、記録が出来ない、SetROBO関数のUIコントロール(ControlTypeとControlNameで指定)では動かせないコントロールがありました。

対処法として座標で操作する方法はあるんだけど極力避けたかったので、何かいい方法がないか問い合わせてみたところ、ControlのClass名を指定する方法を教えてもらたので記録しておきます。

環境

  • Windows 11 Pro 21H2 (64bit)
  • SetROBO for Kitting V1.9.5体験版

状況

▸ サクラエディタのインストールで、「設定をユーザ毎に個別に設定する」のチェックボックスが記録できず、InspectでControlTypeとControlNameを調査したが、これ ↓ では動かない。
PlayLib.Window("サクラエディタ セットアップ").UICheckBox("設定をユーザー毎に個別に管理する").Click();

▸ 他の画面にあるチェックボックスはショートカットキーが設定されているが、このチェックボックスはショートカットキーの指定もない

ControlのClass名を指定して動かす方法

01.対象のコントロールを記録

「設定をユーザ毎に個別に設定する」のチェックボックスの操作を記録します。
08.png

02.対象のコントロールのClass名を確認

Inspectを使用し、チェックボックスのClass名を確認します。

「設定をユーザ毎に個別に設定する」のチェックボックスのClass名はTNewCheckListBoxでした。

03.コードの確認

「設定をユーザ毎に個別に設定する」のチェックボックスの記録で取得できている値とClass名が一致しているので、コントロール名はUnknownのまま、取得できたClass名を指定します。

PlayLib.Window("サクラエディタ セットアップ").Unknown("TNewCheckListBox", "TNewCheckListBox&1").Click(1,1);

これで、UIコントロール(ControlTypeとControlNameの指定)では動かせないコントロールを、クラス名の指定で動かすことが出来ます。

備考

ConductorのヘルプでUnknownコントロールに今回の方法が記述されています。

●説明
    本ツールで対応していないコントロールを指定します。

とのことなので、UnknownのままClass名を指定してコントロールを操作する方法は、SetROBOのコントロール関数(ButtonとかUI~とか)で対応できないコントロールの場合に使えるみたいです。
image.png

最後に

ショートカットキーが設定されていればそっちを使った方が楽なので滅多に使わなそうだけど、いざという時はClass名を使った方が座標とかより確実ですね。

参考にしたサイト

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?