获取添加的表的名称

时间:2018-05-25 11:51:55

标签: excel office-js

我有一个问题是获取我创建的表的名称。

这是我的简化代码:

var mytable = mysheet.tables.add(mysheet.getUsedRange(), true);

...

mytable.load('name');

return context.sync()
    .then(function () {

            mytable.name;

    });

我不想给表命名(因为它可能已经存在于工作簿中),所以我让Excel给它命名。

但是在同步之后我总是得到错误: “未捕获(承诺)错误:无法读取属性'name'...请调用”context.sync()“... (对不起,我只收到德语错误消息 - 所以,这是翻译后的文本。)

有趣的方面:​​此错误仅在全新的工作簿中引发(Excel在线)。如果我使用工作簿,我已经使用上面的方式创建了一个表,它可以完美地运行而没有任何错误。

我做错了什么?我是否必须加载不同于“名称”的内容?

1 个答案:

答案 0 :(得分:1)

我尝试使用以下代码,它在桌面和Office Online上都运行良好:

Excel.run(function (context) {
    let sheet = context.workbook.worksheets.getActiveWorksheet();
    var mytable = sheet.tables.add(sheet.getUsedRange(), true);

    mytable.load('name');

    return context.sync()
        .then(function () {
            console.log(mytable.name);
        });
});

如果您仍然遇到问题,可以发布完整代码 - 最好是Script Lab snippet吗?