首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向IXMLDOMNode添加属性

向IXMLDOMNode添加属性
EN

Stack Overflow用户
提问于 2020-05-14 19:11:47
回答 1查看 229关注 0票数 0

我在下面的代码的Run-time error 438: Object Doesnot support this propoerty or method行中获得了xNamedNodeMap.setNamedItem (myNode)

代码语言:javascript
复制
Sub appendChild()
    Dim xDoc As MSXML2.DOMDocument60
        Set xDoc = New MSXML2.DOMDocument60
        xDoc.LoadXML ("<root><child/></root>")
    Dim myNode As MSXML2.IXMLDOMNode
       Set myNode = xDoc.createNode(2, "Sci-Fi", "")
    Dim xNamedNodeMap As MSXML2.IXMLDOMNamedNodeMap
    Set xNamedNodeMap = xDoc.DocumentElement.ChildNodes.Item(0).Attributes
    xNamedNodeMap.setNamedItem (myNode)
    Debug.Print xDoc.XML
End Sub

有人能帮我调试这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-14 19:25:59

(myNode)中删除括号

代码语言:javascript
复制
xNamedNodeMap.setNamedItem myNode

在调用方法时,不应使用括号,除非该方法返回值(并且希望将返回值赋给某物)。否则,()将导致VBA计算包含的参数,并传递该评估的结果,而不是(例如) myNode

当您传递的参数被计算时会发生什么,这取决于它是什么类型的变量,如果它是一个对象,那么该对象是否有default method/property

没有默认方法/属性的对象将引发运行时错误,正如您在代码中看到的那样。

Note --当您使用Call时,情况不同,但是这里的一般建议是不要使用Call.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61805563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档