XML导入语法的后期绑定转换

时间:2011-05-05 14:46:40

标签: xml ms-access vba ms-access-2007

我有一个Access应用程序,它实际上只是一堆办公应用程序(Word,Excel,Ppt& Outlook)的自动化服务器,可以导入信息,并通过表单收集并生成各种文件。

它不是传统意义上的数据库,而是用户在现场使用的所有自动化技巧的远程文件,然后在他们拥有所需的所有文件时丢弃。

所以最近所以这里的人帮助我转换为后期绑定,以便将我从目标系统上的brocken引用中删除,从而消除功能。它工作得很棒!

所以现在我有一些xml导入代码需要设置xml v5才能运行。现在我遇到的问题是Excel,Powerpoint& Outlook对象库引用从Office版本更改为版本(2003 = 11.0,2007 - 12.0等),但我想知道我是否会在此处遇到相同的问题。为了使事情变得更复杂,我不知道可能运行的服务器/操作系统(XP,Vista,2003,2008 SP2等)。老实说,我不知道这是否重要,所以这就是我提到的原因。

那么,如果它实际上会产生问题,那么有没有人知道为此声明的后期绑定转换示例?它似乎与创建和办公应用程序不一样......

Sub PullingDataFromNodes()
   dim xmlDoc as MSXML2.DOMDocument50
   dim xmlNodeList As MSXML2.IXMLDOMNodeList
   dim myNode as MSXML2.IXMLDOMNode

   Set xmldoc = New MSXML2.DOMDocument50
   xmldoc.async = False
   xmldoc.Load ("C:/SomeFolder/xml.xml")

   Set xmlNodeList = xmldoc.SelectNodes("//DataFieldNode")
   Set myNode = xmlNodeList.item(0)

   'etc...more of the same....pull data from node, place data into variable, then place 
   '  data in variable into recordset, use it to update table kind of thing

所以我尝试使用CreateObject,它似乎不起作用....有人可以提供和建议吗?

当我可以使用argus时,我使用xmlImport ....但是这个特殊的解决方案是通过Web应用程序提供的,他们既没有嵌入架构,也没有样式表或.xsd < / p>

1 个答案:

答案 0 :(得分:1)

我有类似的代码使用MSXML2.DOMDocument.3.0,所以我把它切换到5,它仍然有效。我不知道不同的版本。我只能建议你这样试试看看会发生什么。

Sub PullingDataFromNodes()
   dim xmlDoc As Object
   dim xmlNodeList As Object
   dim myNode As Object

   Set xmldoc = CreateObject("MSXML2.DOMDocument.5.0")
   xmldoc.async = False
   xmldoc.Load "C:/SomeFolder/xml.xml"

   Set xmlNodeList = xmldoc.SelectNodes("//DataFieldNode")
   Set myNode = xmlNodeList.item(0)