无法获得定义名称的范围

Excel 2016(Office 365)32位,16.0.6965.2115,Visual Studio 14.0.25425.01更新3我很确定下面的声明用于工作,但现在它不再工作:

var range = ctx.workbook.names.getItem("Countries").getRange(); 

我收到一个错误,指出不支持getRange方法,但应该按照文档中的说明进行支持。
我在做什么错了?

—编辑:这是我正在使用的代码—

 function paintRange() { Excel.run(function (ctx) { var range = ctx.workbook.names.getItem("Countries").getRange(); range.format.fill = "green"; return ctx.sync(); }).catch(function (error) { app.showNotification("Error", error); }) } 

paintRange附加到一个button。 有一个名为“国家”的全球范围定义名称。 除了我提到的那个,我没有任何关于错误的细节,我也尝试打开快速查看窗口以获得更多的线索。

更新:问题已修复与CDN的更新。 你现在应该可以使用namedItem.getRange() 。 感谢您报告这个问题,并让我们做一个快速的解决scheme。

================

菲利普,看起来你是绝对正确的。 这绝对是一个错误。 让我跟右边的人谈谈,尽快让这个回归得到修正。 我会看看我们是否可以在一些过程中避免这种情况。

从立即的解决方法来看,有两个select:

  1. 使用BETA CDN(尤其是用于开发中的插件,而不是制作插件)。 该URL是: https : //appsforoffice.microsoft.com/lib/beta/hosted/office.js

  2. 暂时填写无意中删除的getRangefunction。 在Office.initialize内部,包含以下代码:

     if (!Excel.NamedItem.prototype.getRange) { Excel.NamedItem.prototype.getRange=function () { return new Excel.Range(this.context, OfficeExtension.ObjectPathFactory.createMethodObjectPath( this.context, this, "GetRange", OfficeExtension.OperationType.Read, [], false, true, null ) ); }; } 

即使在function恢复之后,#2中的解决方法也不应该造成伤害,但是我会毫不留情地build议在我们解决问题之后再删除这个问题。 一旦我们修复了潜在的错误,希望在一个星期之内(作为一个非常粗略的估计,等待任何可能延迟它的并发症),我会更新这个线程。

感谢您将其引入我们的注意力 – 无论是单个bug还是让这个API的回归都不被注意的基础过程。