VBScript 函数 Return
VBScript Function Return
我正在尝试 return 来自 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
部分获得一个结果,但即使不是,我也应该只覆盖我的结果,对吗?
正如 指出的那样,sub 没有 return 值,只有函数有。
改变
Sub checkXML(sFile)
...
End Sub
到
Function checkXML(sFile)
...
End Function
我正在尝试 return 来自 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
部分获得一个结果,但即使不是,我也应该只覆盖我的结果,对吗?
正如
改变
Sub checkXML(sFile)
...
End Sub
到
Function checkXML(sFile)
...
End Function