JavaScript API for Excel中的触发器计算

时间:2016-05-07 13:42:47

标签: excel office-js javascript-api-for-office

我正在尝试使用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));
        }
});

1 个答案:

答案 0 :(得分:0)

您可以重新计算工作簿,这应该可以完成您的方案。对于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 Extensibility团队的开发人员,MSFT