问题描述
我修改了 Excel ScriptLab 函数以删除重复项,并将其作为功能区中的按钮运行。
async function RemoveDuplicates() {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
var selectedRange = context.workbook.getSelectedRange();
var firstCell = selectedRange.getCell(0,0);
var surroundingRegion = selectedRange.getSurroundingRegion();
firstCell.load('columnIndex');
surroundingRegion.load('address');
await context.sync();
var columnIndex = firstCell.columnIndex;
const deleteResult = surroundingRegion.removeDuplicates([columnIndex],true);
deleteResult.load();
});
}
效果很好。它在几分之一秒内完成,但我注意到这个以及我拥有的任何其他函数会在右下角显示一条消息,该消息一直存在,直到我运行另一个函数。然后来自下一个函数的消息留在那里。
这是正常的,还是应该有代码来结束这个功能?
谢谢
解决方法
您可能需要将 Office.AddinCommands.Event 参数传递给 removeDuplicates
,然后在函数末尾调用 event.completed()
。有关示例,请参阅 Create add-in commands 和 FunctionFile。