用VBA保存为XML?

有没有办法将Excel表格保存为XML? 我有XML模式文件…和一些表中的数据…我有在Excel中的另存为XML文件选项,但我可以保存为一个文件从VBA的XML? 我想自动化一个stream程,但是我没有find这个选项。 谢谢!

这个好loggingmacroslogging器救了我这次:))(为什么我没有使用它之前我张贴在这里?)所以…加载一个XML模式,你有:

ActiveWorkbook.XmlMaps.Add("Book2.xml", "raport").Name _ = "raport_Map" 

并将其保存为xml:

 ActiveWorkbook.SaveAsXMLData Filename:="Book3.xml", _ Map:=ActiveWorkbook.XmlMaps("raport_Map") 

谁会想到这很容易?

这个链接帮助我最 – > http://curiousmind.jlion.com/exceltotextfile

链接上的脚本:

 Sub MakeXML(iCaptionRow As Integer, iDataStartRow As Integer, sOutputFileName As String) Dim Q As String Q = Chr$(34) Dim sXML As String sXML = "<?xml version=" & Q & "1.0" & Q & " encoding=" & Q & "UTF-8" & Q & "?>" sXML = sXML & "<rows>" ''--determine count of columns Dim iColCount As Integer iColCount = 1 While Trim$(Cells(iCaptionRow, iColCount)) > "" iColCount = iColCount + 1 Wend Dim iRow As Integer iRow = iDataStartRow While Cells(iRow, 1) > "" sXML = sXML & "<row id=" & Q & iRow & Q & ">" For icol = 1 To iColCount - 1 sXML = sXML & "<" & Trim$(Cells(iCaptionRow, icol)) & ">" sXML = sXML & Trim$(Cells(iRow, icol)) sXML = sXML & "</" & Trim$(Cells(iCaptionRow, icol)) & ">" Next sXML = sXML & "</row>" iRow = iRow + 1 Wend sXML = sXML & "</rows>" Dim nDestFile As Integer, sText As String ''Close any open text files Close ''Get the number of the next free text file nDestFile = FreeFile ''Write the entire file to sText Open sOutputFileName For Output As #nDestFile Print #nDestFile, sXML Close End Sub Sub test() MakeXML 1, 2, "C:\Users\jlynds\output2.xml" End Sub