【问题标题】:Close OpenXML Document Without Saving关闭 OpenXML 文档而不保存
【发布时间】:2018-03-21 15:16:35
【问题描述】:

据我了解,当您打开、编辑然后关闭 OpenXML 文档(例如 .DOCX 文件)时,会自动保存修改后的文档。如果您改变主意并决定不保存编辑,有没有办法在不保存的情况下关闭文档?我似乎找不到任何东西。

【问题讨论】:

  • 哈!很好的侦探工作。但是,关于您的答案的一个问题是:无论是否使用 using 块,这都有效吗?您的回答暗示“没有”,但因为它是我认为 Open 方法的设置也是可能的?
  • 我相信无论是否使用 using 块,它都可以正常工作。 Dispose 会像往常一样被调用,但因为 AutoSave 为 false,它不会保存。

标签: openxml openxml-sdk


【解决方案1】:

文档有一个 AutoSave 属性,默认设置为 True。 Open 方法可以接受一个 OpenSettings 对象,该对象可用于覆盖默认行为:

        Imports DocumentFormat.OpenXml.Wordprocessing

        Dim os As OpenSettings = New OpenSettings()
        os.AutoSave = False
        Dim doc as Doc = WordprocessingDocument.Open(Path, True, os)

在这种情况下,除非调用 doc.Save,否则不会保存文档。 doc.Dispose 将简单地释放资源而不进行保存。

【讨论】:

  • 旧线程,新评论 - 如果您使用“模板”文档,然后使用 .SaveAs(...),它似乎也会保存模板
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多