无法使用Office.js API从命名范围读取值

我是新joinExcel加载项和Office.js。 我正在尝试探索代码加载项目。

在这里,我试图从命名范围读取值。 首先,我试图获取range对象,然后加载该range值。

我无法获得这些值,但是此代码既不会引发错误,也不会将值输出到控制台:

 Excel.run(function (ctx) { var range = ctx.workbook.names.getItem("MyRange").getRange(); range.load("values"); return ctx.sync(function () { console.log("required range values -> "); console.log(range.values); }); }).catch(function (e) { console.log("error info is" + e.message); }); 

在这里我已经在我的表中有MyRange了。

在你发布的代码中,你在return ctx.sync()之后缺lessreturn ctx.sync()

以下(JavaScript)代码片段获取命名范围ExpensesHeader ,然后将该范围的值写入控制台。

 Excel.run(function (ctx) { var sheet = ctx.workbook.worksheets.getItem("Sample"); var myNamedItem = sheet.names.getItem("ExpensesHeader"); var myNamedRange = myNamedItem.getRange(); myNamedRange.load("values"); return ctx.sync() .then(function () { console.log("values: " + JSON.stringify(myNamedRange.values)); }); }); 

这里是相同的片段,但在TypeScript中:

 Excel.run(async (ctx) => { const sheet = ctx.workbook.worksheets.getItem("Sample"); const myNamedItem = sheet.names.getItem("ExpensesHeader"); const myNamedRange = myNamedItem.getRange(); myNamedRange.load("values"); await ctx.sync(); console.log("values: " + JSON.stringify(myNamedRange.values)); }); 

您可以使用Script Lab( https://aka.ms/getscriptlab )快速轻松地在Excel中自己尝试这些代码片段。 只需安装Script Lab加载项(免费),然后在导航菜单中select“导入”,然后使用以下GIST URL: https : //gist.github.com/kbrandl/da3f56d9510329d5ea04bf00ced5c870 。