VBScript函数返回

时间:2016-10-17 19:32:17

标签: vbscript subroutine

我正在尝试从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 个答案:

答案 0 :(得分:2)

正如@omegastripes指出的那样,潜艇没有返回值,只有函数可以。

更改

Sub checkXML(sFile)
  ...
End Sub

Function checkXML(sFile)
  ...
End Function

See also