我有一个问题,使用
在vbscript中出现错误:
"Microsoft VBScript runtime error: Object doesn't support this property or method: 'list.Add'"
根据这个教程,我知道你可以在vbscript中使用COM包装的.Net组件,为什么这样做不起作用?
额外信息:
当我在VS08中进行调试并添加一个对列表的观察时,它会显示“无法评估子项”。
如果您对我的vbscript有任何评论,请告诉我 - 我刚开始学习,不知道最佳实践。
CreateObject("System.Collections.ArrayList")
无法解析oList对象。在vbscript中出现错误:
"Microsoft VBScript runtime error: Object doesn't support this property or method: 'list.Add'"
根据这个教程,我知道你可以在vbscript中使用COM包装的.Net组件,为什么这样做不起作用?
额外信息:
当我在VS08中进行调试并添加一个对列表的观察时,它会显示“无法评估子项”。
objNode.value
的观察结果是两个字符的字符串值(这是预期的行为)。Function ProcessXML(oXML)
STOP
xPathExemptions= "//Exemption/@ExemptCodeWord"
Dim xmlDoc : Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
xmlDoc.Async = False
xmlDoc.loadXML(oXML)
Dim colNodes
Set colNodes = xmlDoc.selectNodes(xPathExemptions)
Dim oList
Set oList = CreateObject("System.Collections.ArrayList")
Dim objNode
For Each objNode in colNodes
oList.Add = objNode.value
Next
'ProcessExemptions = CStr(xmlDoc.selectNodes(xPathExemptions))
End Function
如果您对我的vbscript有任何评论,请告诉我 - 我刚开始学习,不知道最佳实践。
Function
确实需要将其参数用括号括起来。然而,对于不返回值的Sub
,括号被省略了。请参见我的答案 ,以获取有关下载作为Windows帮助文件的全面VBScript参考的指导。最后,请注意,oList.Add
是具有单个参数的Sub
。=
既是赋值运算符,也用于测试相等性。 - DavidRRMyFunction 23, 42
),则不应使用括号。另一方面,如果使用Call
语句调用过程(例如Call MySub(23, 42)
),则必须使用括号。有关更多信息,请参见Eric Lippert的文章,了解在VBScript中使用括号的方法。 - Ansgar Wiechers