2013-09-29 5 views
3

У меня есть последующий VBA код для работы с XML с помощью Office 2010:XML декларации в офисе 2013

Public xmlDOM As DOMDocument 

Public Sub setXML(xmlFileName As String) 

    Set xmlDOM = CreateObject("MSXML.DOMDocument") 
    xmlDOM.async = False 
    xmlDOM.Load xmlFileName 

End Sub 

OBS: Существует ссылка установлен Microsoft XML, v6.0

НО, если я открыть тот же код на Office 2013. Я получил сообщение об ошибке, что

Public xmlDOM As DOMDocument 

не объявлен, но есть еще ссылка на Microsoft XML, v6.0 набор.

, если я изменю

Public xmlDOM As DOMDocument 

в

Public xmlDOM As MSXML.DOMDocument60 

компилятор принимает, но выполнение кода я получаю сообщение об ошибке в

Set xmlDOM = CreateObject("MSXML.DOMDocument") 

даже если я изменить его на

Set xmlDOM = CreateObject("MSXML2.DOMDocument60") 

OBS: существует набор ссылок на Microsoft XML, v6.0 в Office 2013

Что происходит?

+0

Ваш Excel 2013 64-разрядные и ваш Ex cel 2010 32-бит? Они оба находятся на одной и той же версии ОС? –

+0

Привет! Да, один из них - 64-разрядный (2013), а другой - 32-разрядный (2010). Но я нашел решение, я заменил «Public xmlDOM As DOMDocument» на «Public xmlDOM As MSXML2.DOMDocument60» и «Установить xmlDOM = CreateObject (« MSXML.DOMDocument ») на« Установить xmlDOM = Новый MSXML2.DOMDocument60 », он работает теперь отлично подходит для обеих версий. – Braulio

+0

@Braulio. Вы можете переместить ответ из комментария в раздел ответов, чтобы он мог быть полезен будущим читателям. – Santosh

ответ

6

Заменить

Public xmlDOM As DOMDocument 

с

Public xmlDOM As MSXML2.DOMDocument60 

и

Set xmlDOM = CreateObject("MSXML.DOMDocument") 

с

Set xmlDOM = New MSXML2.DOMDocument60 
+0

Идеально подходит. –