JavaScript 和一般的 Office API 的新功能。刚弄湿我的脚。有很多东西要学。我看到传递给 load() 函数调用的不同字符串常量,例如“名称”或“地址”。这些是什么,我们如何找到它们?它没有智能感知。
例如
getRange.load('address')
或者
table.load("name")
TIA,扎克·巴雷斯
JavaScript 和一般的 Office API 的新功能。刚弄湿我的脚。有很多东西要学。我看到传递给 load() 函数调用的不同字符串常量,例如“名称”或“地址”。这些是什么,我们如何找到它们?它没有智能感知。
例如
getRange.load('address')
或者
table.load("name")
TIA,扎克·巴雷斯
之所以调用“load”方法是因为你打算在ctx.sync()之后访问它,对吧。例如,假设您有想要输出当前选择地址的代码:
Excel.run(function(ctx) {
var range = ctx.workbook.getSelectedRange();
// <do some load on the range>
return ctx.sync().then(function() {
console.log(range.address);
})
}).catch(function(e) {
console.log(e);
})
因为您看到自己在做range.address
(并且您应该看到在 IntelliSense 中枚举),这意味着您知道这是您应该加载的属性名称。事实上,如果你忘记了,你会在尝试访问它时失败,它应该告诉你该属性尚未加载。
唯一需要注意的是集合:当您执行 tables.load("name") 时,您实际上是在告诉表集合“加载所有子对象,预取名称”。因此,与其直接从表对象中寻找 IntelliSense,不如寻找如何访问子属性(即,tables.items[0].___)
希望这可以帮助,
~ Michael Zlatkovsky,Office 可扩展性团队的开发人员,MSFT