我有这个代码并且它不起作用,给我一个错误"在调用Sub"时不能使用括号。在我运行RunQuery(SCCMConnectionString,queryId)
的行上Sub RunQuery(connection, queryId)
Dim query
Dim queryResults
Dim queryResult
' Get query.
Set query=connection.Get("SMS_Query.QueryID='" & queryId & "'" )
If err.number<>0 Then
WScript.echo "Couldn't get Queries"
Exit Sub
End If
' Run query.
WScript.echo query.Name
WScript.echo "----------------------------------"
Set queryResults=connection.ExecQuery(query.Expression)
For Each queryResult In queryResults
wscript.echo " " & queryResult.Name
Next
If queryResults.Count=0 Then
WScript.echo " no query results"
End If
End Sub
SCCMConnectionString = chr(34) & "Server=OAK-PRD-SCC01;Database=CM_TIM;trusted_connection=True" & chr(34)
queryID = "SMS024"
RunQuery (SCCMConnectionString, queryId)
答案 0 :(得分:1)
正如错误消息所示,当您在VBScript中调用 sub 时,不能使用括号。
试试这个。它应该工作。
RunQuery SCCMConnectionString, queryId
答案 1 :(得分:1)
VBScript中Sub
和Function
之间的主要区别在于函数返回值而子函数不返回。调用函数并使用其返回值时,允许/需要括号。在以正常方式调用sub时,根本不允许它们。
这里是更正后的行(#30):
RunQuery SCCMConnectionString, queryId
这是一篇更详细的MS文档:VBScript Procedures
奇怪的是,如果使用Call
命令调用sub,则可以使用括号。
Call RunQuery(SCCMConnectionString, queryId)