0
VBScript의 서브 루틴에서 문자열을 반환하려고하는데 형식이 일치하지 않습니다. 여기 VBScript 함수 Return
코드입니다 :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() ... End Sub' 대신'Function() ... End Function'을 사용하여 결과를 반환하십시오. – omegastripes
흠,이 작동하는 것,하지만 [이] (http://stackoverflow.com/questions/15667421/vbscript-return-value-from-a-function) 달리 나를 믿게했다. –
[대답] (http://stackoverflow.com/a/15667474/6352151)에 게시 한 질문에 @omegastripes 님이 전한 내용이 정확히 나와 있습니다. 그리고 빠른 FYI :이 코드 ->'Cstr (StrLine)'은 코드에서 아무 것도하지 않고'x'에 값을 할당하지 않으므로'if' 부분을 입력하지 않는다고 믿습니다 :) –