5

皆さんこんにちは!
最近バタバタしていて更新できずにいました(T_T)

今回はタイトルの通り、私がシナリオ作成を経験してきて過去に躓いたことをお伝えします。
実は最近も躓くことがあり、思い出したので共有します。

ある社内システムを使用したシナリオを作成していた時のことです。
ウィンドウ識別名を設定するライブラリを多く使用していました。
ウィンドウ識別名を設定する時って選択しようとしたウィンドウの枠にオレンジ枠が表示されるかと思うのですが、
そのオレンジ枠が表示され順調に取得できていると思っていました。
そしてそのまま一区切りつくところまで作成した後に実行してみたのですが、
自分が設定していたウィンドウに操作がされなかったり、
「ウィンドウがアクティブではありません」といったエラーが発生しました。

何故だ?と思い、対象ライブラリのプロパティ画面を見てみると、
対象のウィンドウ識別名ではなく、ひとつ前に操作した画面のウィンドウ識別名が取得されていました。
もう一度取り直して(オレンジ枠で対象のウィンドウが囲まれていることも確認)ウィンドウ識別名を確認すると、
直前に操作した画面(後ろに表示されているウィンドウ)の識別名が取得されてしまうのです。
何度取り直しても後ろにあるウィンドウ識別名が取得されてしまい手こずっていました。

そこで、後ろにあるウィンドウは最小化することや移動させることすらできなかったので、
手前のウィンドウを後ろのウィンドウと重ならない位置に移動させて再度ウィンドウ識別名を取り直してみました。
※後ろのウィンドウが最大表示されている場合は、事前に最小化してから次の画面を表示することで、画面が重なることを回避できます。
そうすると手前のウィンドウ識別名を取得することができたのです!

ウィンドウが重なっていると、たとえ手前のウィンドウがオレンジ枠で囲めて取得できたと思っても
実際に取得されているのは後ろのウィンドウが取得されてしまうシステムもまれにあるのだと学んだのでした。。。
もし皆さんも同じような事象に遭遇したら、試してみてください。

当時はオレンジ枠で囲まれて取得できたと思い作成を進めてしまっていたので、自分の確認不足でもありましたね。

つい最近シナリオ作成したシステムも後ろにあるウィンドウ識別名を取得してきてしまうものでしたので同様に対応したところ取得できました。
しかしこの方法以外にちゃんとした対処法があるのかな?とも今回疑問になりました。

もし同様の事象を経験して他の対処法で対応した方がいらっしゃいましたら
対処法をご教示くださると嬉しいです、、!

mi-mi 質問の投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。