首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VisualBasic CreateObject()

VisualBasic CreateObject()
EN

Stack Overflow用户
提问于 2013-10-07 12:41:48
回答 2查看 382关注 0票数 0

我和CreateObject有个问题。它一直告诉我这是一个未声明的元素。有什么特别的参考资料我需要补充吗?

excel等的参考资料已经在其中,不能从MSDN获得更多的信息。

代码语言:javascript
复制
Public Function BBANtoBIC(ByVal BBAN As String) As String
        Dim xd As Object
        xd = CreateObject("msxml2.domdocument.4.0")
        xd.Load("http://www.ibanbic.be/IBANBIC.asmx/BBANtoBIC?value=" & BBAN)
        Do While xd.readyState <> 4
            DoEvents()
        Loop
        BBANtoBIC = xd.Text
    End Function
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-07 13:12:07

"msxml2.domdocument.4.0“可能没有安装在您的系统中。从2001年开始。您可能应该使用"Msxml2.DOMDocument.6.0“。请参阅在中使用MSXML的正确版本

票数 2
EN

Stack Overflow用户

发布于 2013-10-07 13:16:58

通过这个函数,它所做的就是返回文档的文本。它实际上对xml没有任何作用。因此,您可以将其替换为:

代码语言:javascript
复制
Public Function BBANtoBIC(ByVal BBAN As String) As String
    Using wc As New System.Net.WebClient()
        Return wc.DownloadString("http://www.ibanbic.be/IBANBIC.asmx/BBANtoBIC?value=" & BBAN)
    End Using
End Function

我只看到两个理由,为什么这可能不是真的。第一种情况是,如果您正在计算on文档对象,以确保您下载的内容确实是有效的、格式良好的xml,那么在调用函数的地方应该会出现错误处理代码。第二种情况是,如果DoEvents等待循环是为了程序响应而不是等待xml解析器.这也是非常糟糕的设计。以这种方式使用DoEvents()可能会产生副作用。如果只是等待xml解析器,那么新代码应该完全避免这种延迟。

如果您确实需要解析/验证xml,那么至少有三种不同的方法可以在.Net框架中实现,而不需要依赖CreateObject()。不应该需要在CreateObject()中使用.Net。历史

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

https://stackoverflow.com/questions/19225236

复制
相关文章

相似问题

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