0

我有一个 Excel (2010) 工作簿。其中一张包含大约 800 行 XML 标记。

它看起来像这样:

<?xml version="1.0" encoding="UTF-8" ?>
<Data>
 <Entry> 
  <Name>John<Name>
  <Age>58<Age>
 </Entry>
 <Entry>
  <Name>Amy<Name>
  <Age>29<Age>
 </Entry>
</Data>

每个元素位于单独的行/单元格上。

A1 = <?xml version="1.0" encoding="UTF-8" ?>
A2 = <Data>
A3 = <Entry> 
A4 = <Name>John<Name>
A5 = <Age>58<Age>

. . .

等等。

这些不是纯文本值 - 内容是通过 CONCATENATE 跨不同工作表中的不同单元格生成的。

单元格 A3 的公式如下:

=CONCATENATE(XML!A3,XML!B3,XML!C3)

我想创建一个 VBA 宏,将这张表的内容输出到 XML 文件或文本文件中。它已经格式化为 XML 文件,所以我只想保存内容。

我在网上找到的只是如何将工作表本身保存为 XML,但这会将我的所有数据转换为垃圾,因为它已经格式化,至少在外观上是这样。如果这是有道理的。

任何建议都将不胜感激,因为我没有经常使用 VBA。

提前致谢!

4

1 回答 1

4
Sub SaveAsXML()
    Dim strFileName As String
    strFileName = Application.GetSaveAsFilename(filefilter:="XML Files (*.xml),*xml")
    ActiveSheet.SaveAs Filename:=strFileName, FileFormat:=xlTextPrinter, CreateBackup:=False
End Sub

FileFormat必须是,xlTextPrinter否则它会对字符串中的任何引号造成奇怪的事情。

于 2013-09-04T22:06:33.493 回答