如何在doc文件中提取版本

时间:2015-02-24 14:53:00

标签: c# vsto office-interop office-2003

在office 2003中,我们可以在同一个.doc文件中保存word文档的不同版本。 但此版本功能已于2007年删除。

是否有任何选项可以检测.doc文件是否包含任何版本,并通过c#中的代码将版本提取到不同的文件。

1 个答案:

答案 0 :(得分:1)

我会调查一下这些信息:

Microsoft Office Library

它有很多关于从文档中获取版本的信息。

您需要做的第一件事是添加对:

的引用
Microsoft.Office.Interop.Word;

然后从要从中提取版本的文件中实例化文档:

    Application application = new Application();
    Document document = new Document();

打开文档:

    this.application.Documents.Open(@"C:\Users\...\nameOfDoc.doc", ReadOnly: true);
    document = this.application.Documents["nameOfDoc.doc"];

提取您的版本:

    String documentVersion;
    if (document.Versions.Count > 0)
    {
            documentVersion = document.Versions[document.Versions.Count - 1].ToString();
    }
    else
    {
            documentVersion = "No Versioning";
    }

ReadOnly: true不是必需的,可以设置为false,具体取决于您要执行的操作。我一般不想拥有超过必要的力量。

此外,[document.Versions.Count - 1]应该根据我在文档中读到的内容(未经测试)获取最新版本。

我希望这会对你有所帮助!如果没有,它应该让你走上正确的轨道。