【问题标题】:Converting VBA XML reader to VB.net将 VBA XML 阅读器转换为 VB.net
【发布时间】:2011-02-11 04:15:08
【问题描述】:

我目前正在将一个 VBA XML 阅读器重写为一个项目的 VB.net 版本。我在 VBA 中有以下代码:

    Dim XML_Doc As Object:  Set XML_Doc = CreateObject("MSXML2.DOMDocument")
    Dim XML_Detail As New ADODB.Recordset: XML_Detail.ActiveConnection = 
            "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"

有人告诉我,我应该能够在我的 VB.Net 版本中使用几乎完全相同的代码,但我遇到了一些问题。我添加了 Microsoft ActiveX 2.8 作为对 VB.net 项目的引用,因此我可以使用 ADODB。

VB.Net中的代码是

    Dim XmlDoc As Object : XmlDoc = CreateObject("MSXML2.DOMDocument")
    Dim XmlDetail As New ADODB.Recordset : XmlDetail.ActiveConnection = 
            "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;"

运行应用程序时,它会到达 XmlDetail 并引发以下错误:

System.Runtime.InteropServices.COMException was unhandled. 
Arguments are of the wrong type, are out of acceptable range, 
or are in conflict with one another.

有没有人有这方面的经验或者我该如何解决?

谢谢

【问题讨论】:

    标签: xml vb.net vba


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      经过大量工作,我找到了解决方案:

      Dim XmlDoc As Object : XmlDoc = CreateObject("MSXML2.DOMDocument")
      XmlDetail.Open(DirSaveXml & ServiceName & ".xml", "Provider=MSDAOSP; Data Source=MSXML2.DSOControl.2.6;")
      

      【讨论】:

      • 您最好将代码转换为使用 .NET 等效项:XmlDocumentOleDbConnectionOleDbCommandOleDbDataReader
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 2014-07-01
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多