- ベストアンサー
UWSC「画像が無い場合」
UWSCについての質問です 指定の画像がある場合、スクリプトを実行させるというのは分かりますが 逆に、画像が無い場合にのみ、特定のスクリプトを実行させるという事は可能でしょうか? 具体例としては 指定の画像がある場合は何もせず 指定の画像が消えた場合 msgbox("画像が消えました") とメッセージボックスを表示させる よろしくお願い致します
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こうすればできます。簡単でしょ? If ChkImg("探したい画像.bmp")=FALSE Then MsgBox("ないっぽいですぅ") ただし、初めからなかった場合もこれで引っかかってしまうので、一度表示されてから消えたというのを検出したければ、次のようにする必要があります。 //初期化 あった=FALSE //画像探しのループ //目的の画像が一度見つかってそれが消えるまで回り続ける Whlie TURE //他にやりたい処理があるならここに書く //画像の判定 If ChkImg("探したい画像.bmp") Then あった=TRUE Ifb あった AND ChkImg("探したい画像.bmp")=FALSE MsgBox("消えたみたいですぅ") あった=FALSE EndIf Wend ついでに言うと、If文はTRUEかFALSEかを判定する文であり、関数だろうが式だろうが、判定できるのはTRUEかFALSEだけです。しかし逆を言うと、ChkImg関数のように結果がTRUEかFALSEで返る関数であれば、=TRUEなどといちいち書く必要はありません。なのでUWSCのサンプルでは、TRUEかFALSEを返す関数がIf文内にある場合、=TRUEという表記を省略しています。その方がスクリプトの見た目が簡潔にできますから。なのでサンプルがもしこれを省略していなかったら、この質問をする前に気付いていたでしょうね。
お礼
ChkImg関数について詳しく理解できてなかったみたいです。 画像があった場合TRUE、無かった場合FALSEを返すと言うのを見落としておりました。 While ChkImg("Check.bmp") Wend 以下画像が消えてからの処理 とすることで上手く動作してくれました。 回答者様の例も、とても参考になりました。 今後活用できそうな機会もありそうです。 ありがとうございました。