36

こんにちは、NTTデータ WinActor技術支援チームのEOです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
今回はマイナーというより、知っておくと役立つ「ウィンドウ識別クリア」を紹介します。

ライブラリの概要
「ウィンドウ識別クリア」は、WinActorが持っているウィンドウ識別名のキャッシュをクリアします。

※WinActorはウィンドウ識別を使用するライブラリが実行されるとき、毎回対象のウィンドウを探しているのではなく、
 一度どのウィンドウがそのウィンドウ識別かを識別したら、その情報をずっと覚えていて(キャッシュ保持)、
 2回目以降はキャッシュから対象ウィンドウを探す性質があります。
※※ここでいうキャッシュとは一時記憶の意味です。

WinActorのこの性質が問題になることはあまりないのですが、同じタイトルのウィンドウが複数開かれるようなシステムのシナリオを作るときなどに、
新しく開いたウィンドウではなく、先に開いていたウィンドウを操作してしまうことを回避するために使うことがあります。

実際に使ってみる
ちょっと文章だけだと説明が難しいので試しにやってみましょう。

以下のように、ウィンドウ全面化で一度ウィンドウ識別を使用するノードを使用した後、
それと同じウィンドウ識別ルールに合致するウィンドウを追加で開き、再度ウィンドウ識別を使用するノードを実行した場合、
先に開いていたウィンドウと後から開いたウィンドウのどちらが対象になるか確認してみたいと思います。
(ウィンドウ識別ルールは先に開いているほうと、後から追加で開くExcelどちらも対象になるように設定しています。)
わかりやすいように、最初から開いているファイルには「先に開いていたウィンドウ」と入力しています。

実際にやってみると、先に開いていたウィンドウのほうが「画面サイズ、位置設定」の対象になってしまいました。

次は「画面サイズ、位置設定」の前に「ウィンドウ識別クリア」を入れてどうなるか試してみましょう。

今度は、後から開いたウィンドウが対象になりました。

使ってみた感想
○よかったところ
・設定がとても簡単(プロパティの設定がいらないため、フローチャートに入れるだけで使える)

注意点
・WinActorのウィンドウ識別は識別ルールに合致するウィンドウのうち一番手前にあるウィンドウを対象にとるため、
新しく開いたウィンドウが既存のウィンドウよりも背面にある場合は、「ウィンドウ識別クリア」を入れても新しいウィンドウを対象としないことがあります。

頻繁に使用するライブラリではありませんが、ウィンドウ識別が思った通りに行かないときは、ぜひ試してみてください。

最後までお読みいただきありがとうございました。この記事が面白かった、参考になったと思っていただけたら、ぜひ「いいね!」ボタンを押してください。コメントもお待ちしています。

それでは、また次回!

※「いいね」はユーザーフォーラムに会員登録済みの方がログインしているときに押下できます。
 ユーザーフォーラムの会員登録はメールアドレスがあればどなたでも無料で登録できます。
 会員登録すると、質問への回答が見れたり、共有シナリオや事例集のダウンロードといった特典があります!

WA技術支援チーム 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。