尝试在excel在线激活新工作表时出现错误ewa.js

时间:2017-03-22 16:23:58

标签: javascript excel office365 office-js

我正在尝试创建一个新的工作表,并将值放在办公室在线的js加载项的单元格中。 这是我的示例代码(基于API文档中的示例 - https://dev.office.com/reference/add-ins/excel/worksheetcollection):

return Excel.run(function (ctx) {
    var worksheet;
    return Promise.resolve('mySheetName')
        .then(function (sheetName) {
            dtSheetName = sheetName;
            worksheet = ctx.workbook.worksheets.add(dtSheetName);
            worksheet.load('name');
            worksheet.activate();
            console.log("Finished adding worksheet");
        })
        .then(ctx.sync) // Error in this ctx.sync
        .then(function () {
            aCell = worksheet.getCell(0, 0);

我也尝试过这方面的变种(例如,在添加工作表后尝试同步上下文)

return Excel.run(function (ctx) {
    var worksheet;
    return Promise.resolve('mySheetName')
        .then(function (sheetName) {
            dtSheetName = sheetName;
            worksheet = ctx.workbook.worksheets.add(dtSheetName);
            console.log("Finished adding worksheet");
        })
        .then(ctx.sync)
        .then(function () {
            worksheet = ctx.workbook.worksheets.getItem(dtSheetName);
            worksheet.activate();
            worksheet.load('name');
            console.log("Finished activating sheet");
        })
        .then(ctx.sync) // Error in this ctx.sync
        .then(function () {
            stagingTableCell = worksheet.getCell(0, 0);

但在所有情况下,Excel在线只会在左下角挂起“工作”。如果我打开调试器控制台并捕获未捕获的异常,则ewa.js中会出现错误:

throw Error.argument("name", "No item exists with the name '" + n + "'.");

n = "mySheetName"

以前有人遇到过这个问题吗?有什么修复建议吗?一般来说,我们什么时候需要调用sync()?

0 个答案:

没有答案