• ベストアンサー

IFについて

VBScriptで、A以上B以下という処理条件を記述しているんですが、この以外のものが来たらIF文を出るようにしたいんですが、どのように記述すれば良いのでしょうか? マクロだと、確か"Exit ~"で抜けれたと思うんですが、どなたか教えて下さい。 先程も同じ質問を掲載していますが、言語の種類を記述していなかった為、再掲載しています。

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

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

エラーが出たら、判らないから、すぐに 聞くのではなく、自分で調べることも覚 えましょう。 MyString = split(StrLine,vbTab) でTAB区切りにしていますよね。 入力データは、必ずTAB区切りになっていますか? なっていないのであれば、MyStringの要素は。1 になります。 つまり、MyString(1)は、参照例外になります。

SUPERH2O
質問者

お礼

確認した所、kokoroneさんのおっしゃる通りでした。ありがとうございます。

その他の回答 (2)

  • eri_yuri
  • ベストアンサー率42% (74/174)
回答No.3

ソースを見てやっと分かりました。 あたしのあの回答じゃ全然役に立たないですかヾ(;´▽`A`` 回答はkokoroneさんのとおりですので、いまさらあたしがいうのもなんですね...

  • eri_yuri
  • ベストアンサー率42% (74/174)
回答No.1

質問の意図がよくわかってないんですけど、 IF A<=x AND x<=B THEN   [処理] ENDIF これだけのこと? これだと、xは、A<=x<=B 以外だったらIF文に入らないよね?

SUPERH2O
質問者

補足

これだけだと、インデックスが有効範囲にありませんとメッセージが出力されるんですが、原因が分かりますでしょうか? テキストファイルを1行ずつ読み込み、比較しながら別ファイルに記述していきます。 for each f1 in fc s = f1.name StrInFolder = "c:\log" StrOutFolder = "c:\log\log" Set objFile = objFSO.OpenTextFile(StrInFolder & "\" & s) Set objWFile = objFSO.OpenTextFile(StrOutFolder & "\" & s,2,true) Do While Not objFile.AtEndOfStream StrLine = objFile.ReadLine MyString = split(StrLine,vbTab) if MyString(0) = mydate and timevalue(mystring(1)) <= timevalue("9:00:00") or mystring(0) = strmydate and timevalue(mystring(1)) >= timevalue("9:00:00") then objWFile.writeLine(StrLine) end if loop objWFile.close ' 出力ファイルを閉じる next Set objFSO = Nothing Set objFile = Nothing set objWFile = Nothing

関連するQ&A

専門家に質問してみよう