当保存被驳回时引发documentbeforeaveeventhandler事件

本文关键字:documentbeforeaveeventhandler 事件 保存 | 更新日期: 2023-09-27 18:15:01

在为office编写外接程序时,我必须为DocumentBeforeSave事件定义一个事件处理程序。

这个处理程序工作正常,除了一个异常。这个异常来自以下语句:

    我打开一个word文档并编辑一些文本。我点击关闭按钮。
  1. Word问我是否要save, don't savecancel
  2. 我选择don't save .

按照这些步骤,office仍然在documentbeforeave事件中强制我。没有办法确定用户是否打算取消他的保存。

是否有一种方法来检查用户是否选择保存,如果是,如何检查?到目前为止,MSDN和其他来源都是空的。

注意:在office 2013及以上版本中,此功能应该由Doc.IsInAutosave检查,遗憾的是,此功能在office 2007和office 2010中不存在

当保存被驳回时引发documentbeforeaveeventhandler事件

根据您的问题,您希望仅在文档实际保存的情况下运行一些代码。

一个常见的解决方案是拦截实际的保存命令,而不是为DocumentBeforeSave事件注册一个事件处理程序(如您所述,如果实际的保存操作从未发生,也会触发该事件处理程序)。

如何做到这一点在我的回答中有描述。注意,您必须在Ribbon XML中定义自定义保存命令,然后将保存期间运行的代码放在相应的Ribbon回调函数中。

相关文章:
  • 没有找到相关文章