我有一个问题是获取我创建的表的名称。
这是我的简化代码:
var mytable = mysheet.tables.add(mysheet.getUsedRange(), true);
...
mytable.load('name');
return context.sync()
.then(function () {
mytable.name;
});
我不想给表命名(因为它可能已经存在于工作簿中),所以我让Excel给它命名。
但是在同步之后我总是得到错误: “未捕获(承诺)错误:无法读取属性'name'...请调用”context.sync()“... (对不起,我只收到德语错误消息 - 所以,这是翻译后的文本。)
有趣的方面:此错误仅在全新的工作簿中引发(Excel在线)。如果我使用工作簿,我已经使用上面的方式创建了一个表,它可以完美地运行而没有任何错误。
我做错了什么?我是否必须加载不同于“名称”的内容?
答案 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吗?