0
VBScriptのサブルーチンから文字列を返そうとしていますが、型が一致しません。ここで VBScript関数戻り値
はコードです:main
Sub Main
Dim NumofBatches, Batch1
CStr(Batch1)
Batch1 = checkXML("Bar.xml")
End Sub
'Checks For Batch in ZoneX
Sub checkXML(sFile)
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\Projects\Scripts\SQL\" + sFile, 1)
Dim strLine, x, y
Do While Not objFileToRead.AtEndOfStream
CStr(StrLine)
strLine = objFileToRead.ReadLine()
'String Foo
If (x > 3) Then
If (InStr(strLine, """") = 1) Then
CheckXMl = ""
Else
CheckXMl = StrLine
End If
End If
Loop
objFileToRead.Close
Set objFileToRead = Nothing
End Sub
そして私は、私だけIf (x > 3) Then
部分から1件の結果を取得し、今のシステムを知っているが、それがなかった場合でも、私は上書きされなければならない問題のことを確認していません私の結果、正しい?
'Sub()... End Sub'の代わりに' Function()... End Function'を使用して結果を返します。 – omegastripes
ええと、これはうまくいくようですが、[これ](http://stackoverflow.com/questions/15667421/vbscript-return-value-from-a-function)は私にそうでなければ信じてくれました.. –
[答え]( http://stackoverflow.com/a/15667474/6352151)あなたが投稿した質問には、@omegastripesによって語られた内容が正確に記載されています。そして、速いFYI:このコード - > 'Cstr(StrLine)'はあなたのコードでは何もしていませんし、 'x'に決して値を代入していないので、 ) –