首页 > 解决方案 > 获取已添加表的名称

问题描述

我在获取我创建的表的名称时遇到问题。

这是我的简化代码:

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

...

mytable.load('name');

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

            mytable.name;

    });

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

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

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

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

标签: exceloffice-js

解决方案


我尝试使用以下代码,它在桌面和 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 片段的形式发布?


推荐阅读