1

我想在 Excel 完成我自己触发的完整计算后执行一些代码。所以目前我正在以这种方式调用计算。

context.workbook.application.calculate('Full');

但这似乎只是触发 Excel 进行计算,并在实际计算之前完成。试图等待一个事后的调用context.sync()不会改变结果。

有一个事件指示计算完成,而不是一个承诺?

4

1 回答 1

0

是的,我们已经添加了onCalculated现在可以预览的地址信息,这次活动更新将是 GA,要求设置为 1.11

Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getItem("Sample");
    sheet.onCalculated.add(function (event) {
        return Excel.run(function (context) {
            console.log("The worksheet has recalculated.");
            return context.sync();
        });
    });
    return context.sync();
});

文档可以在 https://docs.microsoft.com/zh-cn/javascript/api/excel/excel.worksheet?view=excel-js-preview#onca​​lculated

代码示例可以在 https://github.com/OfficeDev/office-js-snippets/blob/master/samples/excel/85-preview-apis/workbook-calculation.yaml找到

注意:此 API 更新现在可供 Excel Mac 和 Excel Desktop 的内部人员使用,它正在向 Excel Online 推出,将在未来 2 周内准备好。

于 2020-03-20T14:57:12.223 回答