使用 VBA 将 Word Doc 保存为 2003 XML

Posted

技术标签:

【中文标题】使用 VBA 将 Word Doc 保存为 2003 XML【英文标题】:Save Word Doc as 2003 XML with VBA 【发布时间】:2012-08-15 19:15:55 【问题描述】:

我在 Word 2010 中工作。如果我进行另存为,我可以保存到 Word XML 2003。但是,我在 VBA 下找不到此选项作为 SaveAS 的参数。我看过 MSDN 和 Google,但没有运气。

我发现最好的是这个页面,但它没有说明这些选项是否是 Word XML 2003 选项。

WdSaveFormat Enumerations from MSDN

有谁知道使用什么参数保存到 Word 2003 XML?如果有人有指向 VBA 参考资料或书籍推荐的良好链接,那也会有所帮助。

谢谢!

【问题讨论】:

【参考方案1】:

你需要

wdSaveFormat.wdFormatXML

评论合并:

您可以通过查看生成的 XML 来判断它是 2003 XML 格式。有两件事将其标记为 Word 2003 XML 格式

所有 w: 标签的命名空间是 xmlns:w="schemas.microsoft.com/office/word/2003/wordml 没有 Word 2007 Flat 中的结构 OPC 格式。

但是,您可能会看到一些在 Word 2003 XML 中未使用的命名空间和元素,它们由 Word 2003 保存。


OP 询问了此信息的来源。

回复是(轻微编辑)

主要是实验+word2007及以后使用Flat OPC XML格式的事实。

我没有仔细研究过 word 2003 生成的 word 2003 XML 和 word 2007 等生成的版本之间的区别,但是当我浏览时,似乎有 2003 年以后的命名空间和一些 2003 年以后的属性(主要我认为与兼容性有关)。

我不知道任何 2003 年后的文档。对于 2003 格式,或 pkg:package 命名空间的任何官方示意图。这表明 ZIP 格式 .docx/m/dotx/m 格式是唯一具有正式识别的格式。

【讨论】:

保存为 2003 XML 格式还是 2010 格式?你怎么知道的? 谢谢。回答采纳!您是从经验中知道这一点的,还是在某处有文档?

以上是关于使用 VBA 将 Word Doc 保存为 2003 XML的主要内容,如果未能解决你的问题,请参考以下文章

vsto 如何在range中插入变量

VBA Word 拆分并使用指定名称保存

使用vba doc转docx

为啥每次使用 VBA 保存 word 文档时文件大小都会增加?

从excel VBA转到word doc中的特定行

VBA如何使用循环直到word文本的结尾?