Excelでエミュレーション操作が思うようにいかない
下記画像のように、Excelのメニューに対してエミュレーション操作を行ったとき、
「思っていた結果と違う!!」 そんな経験をした方いらっしゃるのではないでしょうか。
◆例:エミュレーション操作「Alt+Down → S」で日付を昇順に並べ替えようと思ったら、
「s」と入力されてしまった
そのような事象の原因・回避方法を記載してみました。
【考えられる主な原因】
⇒ ②で表示されているようなメニューが、親Excelと異なるウィンドウとして認識されているため。
【回避方法 2パターン】
🔴ライブラリ「エミュレーションで文字送信」を使用する
🔴ウィンドウ識別ルールを変更する
🔴ライブラリ「エミュレーションで文字送信」を使用する
このライブラリは、前面に出ている画面に対して、
エミュレーション方式の文字列送信を行います。(半角の小文字の英数字のみ対応)
⇒ エミュレーション操作「Alt+Down」でプルダウンを表示させた後、
ライブラリ>14_入力欄操作>「エミュレーションで文字送信」を使用して、「s」を送信する。
🔴ウィンドウ識別ルールを変更する
⇒ エミュレーション操作を 、
(1)「Alt + Down」
(2)「S」
の2つのノードに分け、(2)「S」のウィンドウ識別ルールを以下青枠内のように書き換える。
| ウィンドウタイトル | 一致する | (ブランク) |
| ウィンドウクラス名 | 一致する | Net UI Tool Window |
| プロセス名 | 一致する | EXCEL.EXE |
| ウィンドウサイズ | 指定しない | (ブランク) |
※注意点
上記2パターンのいずれも、操作を行いたい画面が前面になければ正常に動作しません。
そのため、必要に応じてウィンドウの前面化を行ってから使用してください。
以上になります。
長くなりましたが、お役に立てれば幸いです。
他に良い方法や補足等ございましたら、コメントや回答をぜひよろしくお願いします。
---------------------------------------------------------------------------------------------------------------
WinActor v5.1.3
Excel 2016