将 Excel 工作表的内容复制到文本或 XML 文件

LuF*_*aMa 0 xml excel vba

我有一个 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>
Run Code Online (Sandbox Code Playgroud)

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

A1 = <?xml version="1.0" encoding="UTF-8" ?>
A2 = <Data>
A3 = <Entry> 
A4 = <Name>John<Name>
A5 = <Age>58<Age>
Run Code Online (Sandbox Code Playgroud)

。。。

等等。

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

单元格 A3 的公式如下:

=CONCATENATE(XML!A3,XML!B3,XML!C3)
Run Code Online (Sandbox Code Playgroud)

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

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

任何建议将不胜感激,因为我没有太多使用 VBA 的工作。

提前致谢!

tec*_*tle 5

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

必须FileFormatxlTextPrinter,否则它会对字符串中的任何引号做出奇怪的事情。