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
部分,但即使它不是我应该只覆盖我的结果是正确的?
使用'Function()... End Function'而不是'Sub()... End Sub'来返回结果。 – omegastripes
嗯,这似乎工作,但[本](http://stackoverflow.com/questions/15667421/vbscript-return-value-from-a-function)导致我相信,否则.. –
[回答]( http://stackoverflow.com/a/15667474/6352151)到你发布的问题是明确告诉@omegastripes。并且一个简单的FYI:这段代码 - >'Cstr(StrLine)'在你的代码中完全不做任何事情,再加上我相信它甚至不会进入'if'部分,因为你从不给'x'赋值: ) –