我正在尝试从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
部分得到一个结果,但即使不是,我只应该覆盖我的结果,对吗?
答案 0 :(得分:2)
正如@omegastripes指出的那样,潜艇没有返回值,只有函数可以。
更改
Sub checkXML(sFile)
...
End Sub
到
Function checkXML(sFile)
...
End Function