在 JavaScript API 中为 Excel 触发计算

Trigger calculation in JavaScript API for Excel

我正在尝试使用 JavaScript API for Excel

有谁知道如何为单元格、区域、工作表或工作簿触发计算

比如下面的代码选择了一个范围,但是如何重新计算范围呢?

Excel.run(function (ctx) {
    var sheetName = "Sheet1";
    var rangeAddress = "F5:F10"; 
    var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
    range.select();
    return ctx.sync(); 
    });
}).catch(function(error) {
        console.log("Error: " + error);
        if (error instanceof OfficeExtension.Error) {
            console.log("Debug info: " + JSON.stringify(error.debugInfo));
        }
});

您可以重新计算工作簿,它应该可以完成您的方案。对于 JS API,它在应用程序级别:

Excel.run(function (ctx) { 
    ctx.workbook.application.calculate('Full');
    return ctx.sync(); 
}).catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});

也就是说,除非您的工作簿处于手动计算模式,否则您应该不需要强制重新计算。所有相关单元格都应自动更新。

有关 API 的更多信息,请点击此处:https://github.com/OfficeDev/office-js-docs/blob/master/excel/resources/application.md#calculatecalculationtype-string

希望对您有所帮助!

~ Michael Zlatkovsky,Office 可扩展性团队开发人员,MSFT