2013-09-29 87 views
3

我有后续的VBA代码使用Office 2010的XML工作: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

,但如果我打开办公室2013相同的代码我得到了

Public xmlDOM As DOMDocument 

未声明的错误,但仍有参考微软XML,V6.0集。

如果我改变

Public xmlDOM As DOMDocument 

Public xmlDOM As MSXML.DOMDocument60 

,编译器接受,但运行的代码,我会在

Set xmlDOM = CreateObject("MSXML.DOMDocument") 

得到一个错误,即使我将其更改为

Set xmlDOM = CreateObject("MSXML2.DOMDocument60") 

OBS:有是Office 2013

参考设置对Microsoft XML,v6.0的这是什么回事?

+0

是您的Excel 2013 64位和你的前cel 2010 32位?他们都在同一个操作系统版本? –

+0

嗨!是的,一个是64位(2013),另一个是32位(2010)。但我找到了一个解决方案,我通过“Set xmlDOM = New MSXML2.DOMDocument60”将“Public xmlDOM As DOMDocument”替换为“Public xmlDOM As MSXML2.DOMDocument60”和“Set xmlDOM = CreateObject(”MSXML.DOMDocument“)”“,它正在工作现在两个版本都可以使用 – 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

完美,重点突出。 –