【发布时间】:2016-08-17 01:29:11
【问题描述】:
我在 word 2013 中有一个带有保存按钮的任务窗格。我想知道在启用任务窗格保存按钮之前是否修改了文档。有没有可能检查脏? 我可以看到有一个用于选择更改的事件,但它并不完美地检查脏。
【问题讨论】:
标签: office-js
我在 word 2013 中有一个带有保存按钮的任务窗格。我想知道在启用任务窗格保存按钮之前是否修改了文档。有没有可能检查脏? 我可以看到有一个用于选择更改的事件,但它并不完美地检查脏。
【问题讨论】:
标签: office-js
没有直接的方法可以判断文档自上次保存后是否已被修改。但是,有几种解决方法可能对您的特定用例有所帮助。
在 Word 2013 中,getFileAsync API 可用于检索文件的全部内容。您可以在启动加载项时检索文件内容一次,并在您要检查文档是否已更改时再次检索。
Office.context.document.getFileAsync(Office.FileType.Compressed, {},
function(result){
fileObject = result.value;
}
);
这里的缺点是大文件需要大量内存来存储和大量带宽来检索。此解决方法无法解决带宽问题,但可以通过在文件对象上保存checksum 而不是保存文件本身来解决存储问题。
或者,如果您使用的是较新版本的 Word,则可以使用 ParagraphCollection object 查看特定段落是否已被修改或添加/删除。这里的优点是带宽消耗较小,但缺点是它不会像第一个解决方法那样检测每一种类型的更改(例如,在页脚中添加文本)。
【讨论】: