我正在Excel
上使用office.js
作为 Office for Office 开发软件。
对于某些部分,我在excel中的表中挂钩以检查其数据是否使用以下代码进行更改:
myBinding.addHandlerAsync(Office.EventType.BindingDataChanged, onBindingDataChanged);
function onBindingDataChanged(eventArgs) {
// eventArgs has just the binding info.
// I want to have selected cell row and column, and old and new data.
}
不幸的是eventArgs
中的信息不足以让我检测到更改。
值得一提的是,对于Office.EventType.Binding 选择已更改,有许多可用信息,例如startRow, startColumn, ...
。
所以我的问题是: 我如何访问这些信息:
答案 0 :(得分:1)
我也创建了一个excel应用程序。您可以获取当前数据并将其与旧数据进行比较。然后将新数据保存为旧数据。
var oldData = null;
function onBindingDataChanged(eventArgs) {
var id = eventArgs.binding.id;
Office.select('bindings#'+id).getDataAsync(handleNewData);
}
function handleNewData(asyncResult) {
var newData = asyncResult.value;
if (oldData != null) {
// detect changes here
}
oldData = newData;
);