【问题标题】:Copy content of Excel sheet to a text or XML file将 Excel 工作表的内容复制到文本或 XML 文件
【发布时间】:2013-09-04 21:19:41
【问题描述】:

我有一个 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。

提前致谢!

【问题讨论】:

  • 你可能只是复制A列并将其粘贴到记事本中,然后将其保存为xml文件。

标签: xml vba excel


【解决方案1】:
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,否则字符串中的任何引号都会产生奇怪的效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 2012-07-31
    • 2015-08-13
    相关资源
    最近更新 更多