Позднее связывание преобразования для синтаксиса импорта XML
У меня есть приложение Access, которое на самом деле является просто сервером автоматизации для нескольких офисных приложений (Word, Excel, Ppt и Outlook), принимает импортированную информацию, собирает ее через формы и создает все виды файлов.
Он не используется в качестве базы данных в традиционном смысле, скорее, удаленные файловые пользователи используют в поле для всех приемов автоматизации, а затем отбрасывают, когда у них есть все созданные файлы, которые затем необходимы.
Совсем недавно ребята помогли мне с переходом на позднюю привязку, чтобы уберечь меня от ненужных ссылок в целевой системе, убивающих функциональность. Работает отлично!
Итак, теперь у меня есть некоторый код импорта xml, для работы которого необходимо установить xml v5. Теперь проблема, с которой я сталкивался раньше, заключалась в том, что ссылки на библиотеки объектов Excel, Powerpoint и Outlook менялись с офисной версии на версию (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 с этим, и он, похоже, не работает.... кто-нибудь может предложить и посоветовать с этим?
Я использую xmlImport, когда могу с argus...., но это конкретное решение для данных предоставляется через веб-приложение, для которого они не встраивают схему, и у меня нет таблицы стилей или.xsd
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)