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

See also.