繁体   English   中英

Vba-Excel:将Excel工作表导出为XML吗?

[英]Vba-Excel: Export Excel Sheet to XML?

我需要将Excel电子表格数据导出到XML。 为此,我在WorkSheet_Activate中添加了几行代码,即

Private Sub Worksheet_Activate()

 Dim oMyconnection As Connection
 Dim oMyrecordset As Recordset
 Dim oMyXML As DOMDocument
 Dim oMyWorkbook As String

 Set oMyconnection = New Connection
 Set oMyrecordset = New Recordset
 Set oMyXML = New DOMDocument

 oMyWorkbook = Application.ThisWorkbook.FullName

 oMyconnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                  "Data Source=" & oMyWorkbook & ";" & _
                  "Extended Properties=excel 8.0;" & _
                  "Persist Security Info=False"

 oMyrecordset.Open "Select * from [Sheet1$A1:C100]", oMyconnection, adOpenStatic

 oMyrecordset.Save oMyXML, adPersistXML

 oMyXML.Save (ThisWorkbook.Path & "\Output.xml")

 oMyrecordset.Close
Set oMyconnection = Nothing
Set oMyrecordset = Nothing
Set oMyXML = Nothing

但是,每当我尝试执行它时,都会遇到User-Defined Datatype not found的错误。 实际上,由于行Dim oMyXML As DOMDocument导致出现此错误。 我会缺少参考吗? 任何帮助将不胜感激。

我知道这个线程已经使用了几个月,但是您需要添加对“ Microsoft XML,v6.0 ”(或您拥有/需要的任何版本)的引用才能使用DOMDocument数据类型。

Dim oMyXML As MSXML.DOMDocument
Set oMyXML = New MSXML.DOMDocument

问题本身不是“ XML输出”,而是Microsoft VBA和引用正确的ActiveX组件的怪异之处。

查看这些链接中的一个/两个,看看它们是否有帮助:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM