ウィンドウ識別ルールにて、ウィンドウタイトルの文字列に、大文字、小文字の指定する方法
失敗談やお困りごと(しくじりエピソード)を投稿します。
自分なりに解決はしております。
シナリオ内容は、
OutLookに受信したメールで、件名に決められた文字があるメールに添付されているファイルを保存する
ものです。
OutLook側で、仕分けとルールと通知機能を使い、
[件名]にSHIPPING REPORT が含まれる場合、さらに添付ファイルがある場合
特定のフォルダへ移動する
と設定しておきます。
実際のメールの件名は、 【SHIPPING REPORT】出港日 船名 となります。
各船会社に、件名の統一をお願いしました。
WinActor側の ウィンドウ識別ルールにて、
ウィンドウタイトル| 一致する▼|SHIPPING REPORT | 【SHIPPING REPORT】9/9 A VESEEL
と指定して、運用していました。
しばらくの間は、正常に動いていましたが、
ある時、指定したウィンドウ識別のハンドルが取得できません。
と、エラーが表示されて、シナリオが止まっていました。
画面に残っているメールのウィンドウタイトルには、 SHIPPING REPORの文字はあります。
なのに、なぜ? 認識してくれないのと、よ~くタイトルを見ると、Shipping Report と頭大文字の小文字表現でした。
メールの差出人も、船会社ではなく、違う方です。
OutLook側のルールでは、英字の大文字小文字を識別しないため、大文字、小文字関係なく、仕分けされてしまいますが、WinActor側のルールでは、大文字小文字を識別するために、小文字が混ざっていると、認識してくれません。
そこで、安易に、一致するにも AND やOR 表現があるものだと思い、
"SHIPPING", "Shipping" や、"SHIPPING" or "Shipping" としてみましたが撃沈です。
そこで、式別方式をよく見てみると、正規表現とあります。なんじゃこれは?と思い、調べると、
エクセルの書式記号みたいなものかなと思い、
(ABC) 1グループとして扱う
[abc] いずれかの文字とマッチ
. 任意の文字にマッチ
* 直前の0回以上の繰り返しにマッチ
$ 行末にマッチ
ウィンドウタイトル| 正規表現▼|.*[(SHIPPING)(Shipping)].*$ | 【SHIPPING REPORT】9/9 A..
と、指定したら、SHIPPING でも Shippingでも認識して、エラーを回避できるようになりました。