一般来说,JavaScript和Office API的新手。刚弄湿我的脚。有很多东西需要学习。我看到传递给load()函数调用的不同字符串常量,如“name”或“address”。这些是什么以及我们如何找到它们?它没有智能感知。
例如
getRange.load('address')
或
table.load("name")
TIA, Zack Barresse
答案 0 :(得分:1)
打电话给#34;加载"方法是因为你打算在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(&#34; name&#34;)时,你真正告诉表集合&#34;加载你所有的子对象,预取名字&#34;。因此,不应直接从表对象中查找IntelliSense,而应该查看您将如何访问子属性(即tables.items [0] .___)
希望这有帮助,
~Michael Zlatkovsky,Office Extensibility团队的开发人员,MSFT