我想添加一个事件处理程序到用户在工作簿中选择的范围或单元格中:如果用户选择另一个单元格或范围,则需要系统地执行某些操作。添加事件处理程序到选定范围
我正在查看this reference,但我不知道将代码集成到整个加载项的位置。
举例来说,在我的Home.html
,我有
<div id="content-main">
<div class = "padding" id="message"></div>
<div class="padding">
<button class="ms-Button" id="button">Click me!</button>
</div>
</div>
这里是Home.js
:
(function() {
"use strict";
Office.initialize = function(reason) {
$(document).ready(function() {
app.initialize();
$('#button').click(activateEventHandler);
});
};
function onBindingSelectionChanged(eventArgs) {
write(eventArgs.binding.id + " has been selected.");
}
function write(message) {
document.getElementById('message').innerText += message;
}
function activateEventHandler() {
Excel.run(function(ctx) {
var selectedRange = ctx.workbook.getSelectedRange();
selectedRange.addHandlerAsync(Office.EventType.BindingSelectionChanged, onBindingSelectionChanged);
return ctx.sync()
}).then(function() {
console.log("done");
}).catch(function(error) {
...
}
});
}
})();
我期望的按钮激活监听。然后,每次用户选择另一个单元格或范围时,系统地将消息附加到任务窗格。但是,上述代码在线路selectedRange.addHandlerAsync(...
处产生了错误Error: TypeError: selectedRange.addHandlerAsync is not a function
。
其实,我甚至不知道这个代码应该像这样构造...有谁知道如何修改代码来实现我的任务?