我们可以传递的.load()常量是什么?

时间:2015-11-19 23:49:58

标签: office-js

一般来说,JavaScript和Office API的新手。刚弄湿我的脚。有很多东西需要学习。我看到传递给load()函数调用的不同字符串常量,如“name”或“address”。这些是什么以及我们如何找到它们?它没有智能感知。

例如

getRange.load('address')

table.load("name")

TIA, Zack Barresse

1 个答案:

答案 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