無料で使える RPA の taskt の使い方を紹介しています

Send Keystrokes・Activate Window と UI Automation のモーダルフォームの解釈の違い

taskt の命令で、ソフト・画面の名前を指定する Send Keystrokes 命令、Active Window 命令、UI Automation 命令は、ソフト・画面の名前を解釈する方法が異なります。

普段は意識する必要がないのですが、例えば下の例のようにメモ帳の設定画面を表示しているような、専門的にいうとモーダルフォームを表示しているときに影響が出ます。

モーダルフォームとは、その画面を閉じなければそのソフトを操作できない画面です。下の画像ならば、「フォント」の画面を閉じなければ、メモ帳に文章を入力することができません。

Send Keystrokes 命令、Activate Window 命令は、上のメモ帳の場合、メモ帳の画面名「無題 - メモ帳」でも、「フォント」でもソフト・画面名を指定できます。

そのため、どちらを指定してもメモ帳の「フォント」の画面に対して操作が行えます。

一方、UI Automation 命令では、メモ帳の画面名である「無題 - メモ帳」を指定しないと、「フォント」画面を操作できません。

そのため、下の例は正しいですが、Please select the Window to Automate を「フォント」にしてしまうと、エラーになり動作しなくなります。

特に、Send Keystrokes 命令と UI Automation 命令はどちらも Input Commands にある命令なので、同じように使えると思いがちですが、間違えないように注意してください。

また、未検証ですがおそらく下ような命令も同じ系統になると思います。

Send Keystrokes 命令や Activate Window 命令と同じ

UI Automation 命令と同じ

どちらとも異なる


参考

らんの眼