• ベストアンサー

vbsのif文で複数条件の判定

例えば以下である場合、 WScript.echo AAA WScript.echo BBB vbsを実行すると "?"が表示されます。 "OK"が表示されない原因として考えられる事はありますでしょうか If AAA = false Then If BBB = false Then WScript.echo "OK" else WScript.echo "NG" End If else WScript.echo "?" End If

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

例えば以下である場合、 WScript.echo AAA WScript.echo BBB の意味するところが分かりませんが 変数 AAA が初期化されていない場合 wscript.echo typename(AAA) 'empty が返ってきませんか? If cbool(AAA) = false Then 'emptyだとして、cboolで変換すれば初期値はFalseです If cbool(BBB) = false Then WScript.echo "OK" else WScript.echo "NG" End If else WScript.echo "?" End If かな?

na0s5rt
質問者

お礼

ご回答ありがとうございます。 なるほど、初期化されていないのですね 今度その関数で確認してみます。 今回質問させていただいた目的ですが 変数(AAA)とファイルから読み込んだ値(BBB)をIF文で判定することですが、IF文実行前にAAAとBBBが正しく値が入っていると見えるのですが、判定結果"?"に行ってしまい意味がわかりませんでした。 取り急ぎinstr(AAA,"false")とかで切り取ると正しく判定できました。。。 ありがとうございました。

その他の回答 (1)

  • Shlalbubu
  • ベストアンサー率72% (31/43)
回答No.2

これって本当にこういう風にしたいのですか? 日本語に直すと 「AAAがfalseでBBBもfalseならOKを表示」ですよね? 「AAAがTrueでBBBもTrueならOKを表示」の間違いでは?

na0s5rt
質問者

お礼

ご指摘の判定は両方必要で、今回falseから先に始めてうまくいかなかったのでご質問させて頂いた次第です。ありがとうございました。

関連するQ&A