【问题标题】:How to check if the word 2013 content is modified using office 2013 javascript API如何使用office 2013 javascript API检查单词2013内容是否被修改
【发布时间】:2016-08-17 01:29:11
【问题描述】:

我在 word 2013 中有一个带有保存按钮的任务窗格。我想知道在启用任务窗格保存按钮之前是否修改了文档。有没有可能检查脏? 我可以看到有一个用于选择更改的事件,但它并不完美地检查脏。

【问题讨论】:

    标签: office-js


    【解决方案1】:

    没有直接的方法可以判断文档自上次保存后是否已被修改。但是,有几种解决方法可能对您的特定用例有所帮助。

    在 Word 2013 中,getFileAsync API 可用于检索文件的全部内容。您可以在启动加载项时检索文件内容一次,并在您要检查文档是否已更改时再次检索。

    Office.context.document.getFileAsync(Office.FileType.Compressed, {}, 
        function(result){
            fileObject = result.value;
        }
    ); 
    

    这里的缺点是大文件需要大量内存来存储和大量带宽来检索。此解决方法无法解决带宽问题,但可以通过在文件对象上保存checksum 而不是保存文件本身来解决存储问题。

    或者,如果您使用的是较新版本的 Word,则可以使用 ParagraphCollection object 查看特定段落是否已被修改或添加/删除。这里的优点是带宽消耗较小,但缺点是它不会像第一个解决方法那样检测每一种类型的更改(例如,在页脚中添加文本)。

    【讨论】:

    • 我确实尝试过这种方法,它是成功的,但是有一个问题。即使未修改文档,文件字节大小也会发生变化。文件大小不一致。
    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    相关资源
    最近更新 更多