正在保存Word文档

本文关键字:文档 Word 保存 | 更新日期: 2023-09-27 17:59:38

我想根据Word安装的版本保存Word文档;

如果是Word 2003(适当的版本号为11),扩展名为DOC
如果Word版本高于2003,扩展名为DOCX

差异反映在发送给SaveAS方法的第二个自变量中:

object fileFormat = GraphDocsSettings.Default.WordInstalledVersion > 11.0?     
                WdSaveFormat.wdFormatXMLDocument : WdSaveFormat.wdFormatDocument;
wordDoc.SaveAs(ref outputFile, fileFormat, ref missing, ref missing, ref missing,
                           ref missing, ref missing, ref missing, ref missing,
                           ref missing, ref missing, ref missing, ref missing,
                           ref missing, ref missing, ref missing);  

但是,当使用Interop时。Word 11.0我得到以下错误:

Microsoft.Office.Interop.Word.WDSaveFormat does not contain a definition for wdFormatXMLDocument.  

有什么想法吗?

正在保存Word文档

不确定不同单词版本之间的API是否完全相同。

如果可以的话,我建议使用NetOffice(请参阅链接),而不是office互操作程序集。

API与Office Interop API相同,它将与所有(当前)版本的Microsoft Office配合使用。

注意:这是一个示例:http://netoffice.codeplex.com/wikipage?title=Word_Example01

您应该导入以下名称空间以使其工作:

using NetOffice;
using Word = NetOffice.WordApi;
using NetOffice.WordApi.Enums;
using Office = NetOffice.OfficeApi;

这是因为您使用了错误版本的互操作程序集。您不能引用只存在于框架的更高版本中的值。

您应该使用更高的互操作版本,或者创建两个独立的项目,一个用于旧版本的互操作程序集,另一个用于更高版本。

使用以下项目的代码库使用c#创建和保存ms-word:https://github.com/kauser-cse-buet/NetOfficeUsage