typescript - 检测 Word 上的更改(API Office)
问题描述
当您编辑 Word 文档时,它会在对文件进行任何更新后自动检测。
我在 Microsoft 文档中没有找到此功能,它存在吗?
因为,我只想在有修改的情况下显示一个弹出窗口(退出)。
目前,我必须比较我的两个(base64 - 字符串)文档,这似乎不可靠,我更喜欢一个事件。
谢谢
更多信息:我的代码基于https://docs.microsoft.com/en-us/javascript/api/office/office.document?view=office-js#getfileasync-filetype--options--callback- (getFile )
function _arrayBufferToBase64( buffer ) {
var binary = '';
var bytes = new Uint8Array( buffer );
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode( bytes[ i ] );
}
return window.btoa( binary );
}
解决方案
我不知道 COM 对象模型中有任何事件可以检测 Word 文档何时被编辑/已被编辑。
有一个Saved
属性可以查询以了解是否进行了更改。然而,这并不意味着没有对文档进行任何更改。它只报告是否有任何更改尚未保存到磁盘(True = 没有更改挂起;False = 内存中存在尚未保存的更改)。
并且有一个DocumentBeforeSave
事件会在发出Save
命令时发出通知。
Word JS API 也有一个Document.Saved
属性:https ://docs.microsoft.com/en-us/javascript/api/word/word.document?view=office-js#saved
Office JS API 有一个事件BindingDataChanged
可能会有所帮助。从这里开始https://docs.microsoft.com/en-us/javascript/api/office/office.eventtype?view=office-js和这里https://docs.microsoft.com/en-us/javascript/api /office/office.binding?view=office-js
如果有必要知道是否进行了任何更改,那么就需要进行比较。
推荐阅读
- android - 使用 Bundle 将 textview 从一个片段更新到另一个片段不起作用
- r - R中变量讲座的问题,带小数
- scala - Scala-Cats:组合具有应用效果的单子
- java - 如何设置 GIF 图像全屏 Android
- python - XML 从 URL 检索到 CSV
- java - Spring Batch 如何根据标题名称解析动态列?
- node.js - 如何使用ejs中的按钮通过_id查找和更新记录(MongoDB)?
- java - Hibernate search elasticsearch schema management NONE仍然连接到elasticsearch?
- javascript - 将画布存储为具有 .png 扩展名但在变量中的图像
- javascript - 带有 html 5 视频的 Slick Slider