UNPKG

vuexcel-utils

Version:
63 lines 2.07 kB
/** * 监听当前的格子变化,实时返回给handler * @param {function} handler - 回调 * */ var eventResult = null; export function addMonitor(handler) { // 移除后添加 removeMonitor(function () { Excel.run(function (ctx) { eventResult = ctx.workbook.onSelectionChanged.add(function (event) { return Excel.run(function (context) { var workbook = context.workbook; var selectedRange = workbook.getSelectedRange(); selectedRange.load('address'); return context.sync() .then(function () { handler(null, selectedRange.address, eventResult); return context.sync(); }); }); }); console.info('Event handler is running'); return ctx.sync(); // // 给targetAddress初始化 // let workbook: Workbook = ctx.workbook // let selectedRange: Excel.Range = workbook.getSelectedRange() // selectedRange.load('address') // return ctx.sync().then(function () { // handler(null, selectedRange.address, eventResult) // return ctx.sync() // }) }) .catch(function (e) { handler(e); }); }); } /** * @param {EventResult} eventResult - 事件对象 * @param {Function} handler - 回调函数 * */ export function removeMonitor(handler) { if (eventResult && eventResult.context) { Excel.run(eventResult.context, function (context) { eventResult.remove(); return context.sync() .then(function () { handler(); eventResult = null; }); }).catch(function (e) { handler(e); }); } else { handler(); } } export default { addMonitor: addMonitor, removeMonitor: removeMonitor }; //# sourceMappingURL=addressMonitor.js.map