【質問】
「IF - テキストが含まれている場合」(Contains Text)において、いずれかの文字列に合致すればIFの中を通るようにしたい。
具体的には、ウィンドウタイトルに画像の拡張子(jpeg, png, gif, bmpなど)のいずれかが含まれていればIF文の中を通すようにしたいのだが
検索する文字列は1つしか指定できないように見える。
複数条件のうちどれかに合致した場合にIFを通るようにするには、IFアクションを重ねがけするしかないだろうか?
【回答】
その場合は、単純な文字列ではなく、正規表現を使用しOR条件を指定することで可能になります。
上記の場合は、画像ファイルのいずれかを含めばよい、という式になるので、正規表現は
「jpeg|png|bmp|gif」
のようになります。この他にも条件を追加する場合は、後ろに「|」区切りでテキストを追加します。
手順としては・・・・
1. 「ターゲット テキスト」に、検索する元になるテキストを指定(上記の例で言えば、ウィンドウのタイトル)
2. 「検索先テキスト」に、上記の正規表現「jpeg|png|bmp|gif」を指定する
3. 「正規表現」のチェックボックスにチェックを入れる
となります。
下記は一例です。
「var_Text」内に上記拡張子のうちどれかが入っていれば、含まれていたテキストをダイアログに出す例となります。
<AMVARIABLE NAME="var_Text" VALUE="IMG.bmp - Internet Explorer" DESCRIPTION="もとになるテキスト" />
<AMVARIABLE NAME="var_FoundText" VALUE="" DESCRIPTION="合致したテキスト" />
<AMIF ACTIVITY="contains_text" TEXT="%var_Text%" SUBSTRING="jpeg|png|bmp|gif" USERE="YES" FOUNDTEXTVARIABLE="var_FoundText" />
<AMSHOWDIALOG COUNTDOWNDELAY="2">条件に合致
見つかったテキストは「%var_FoundText%」です</AMSHOWDIALOG>
<AMIF ACTIVITY="end" />