Excel API 版本的变化不明确

Unclear changes in Excel API versions

大约 2 周前,我为 excel 创建了一个插件,效果很好!然后我有一个星期的假期,现在,当我重新开始时,它告诉我 "The method or property NamedItemCollection.getItemOrNullObject is part of the ExcelApi 1.4 requirement set, which is not available in your version of Excel"。

我有 Office 365 Pro Plus、延期频道和版本 1701(内部版本 7766.2099)- 这是(根据此处 table:https://support.office.com/en-us/article/Version-and-build-numbers-of-update-channel-releases-ae942449-1fca-4484-898b-a933ea23def7)2017 年 7 月 27 日的版本。

在此页面上,https://dev.office.com/reference/add-ins/requirement-sets/excel-api-requirement-sets?product=excel 写道,Excel API 1.4 应该可用于 1701(但内部版本号不同...??)并且已发布2017 年 1 月。

最有趣的是,它在 2 周前有效,但现在无效。我电脑上的唯一区别是安装了 Visual studio 的最新更新(从 8/2017 开始)。在我看来,这真是一团糟。任何人都可以帮助我了解它吗?

(Office.js 是从 CDN 引用的,使用:

    <script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" ></script>

)

菲利普

根据您安装的版本 (7766.2099),ExcelApi v1.4 不包含在内。您需要更新到 7870.2024 或更新版本才能使用。

我不确定您之前为什么没有看到此错误。我能看到发生这种情况的唯一方法是,如果您的管理员回滚了您的 Excel 版本(即将您切换到延迟版本而不是当前版本),或者您正在在线使用 Excel。

关于 that table 的一个澄清:它并不是说版本 1701(内部版本 7870.2024)于 2017 年 1 月发布。这个 table 按平台显示版本,它说的是 v1。 4 包含在 Excel 中 Windows 版本 1701(内部版本 7870.2024)或更高版本以及 Excel 在线 截至 2017 年 1 月。

要添加到 Marc 的答案(关于版本号,这是绝对正确的):

关于为什么你之前没有看到错误的文章:这个额外的错误检查是我们最近引入的,发现缺少这个检查(在 JS 层)可能导致代码执行预览 API(并可能导致在不受支持的主机上崩溃)。

我们非常努力地尝试永不破坏反向兼容(当您拥有常绿的 CDN endpoing 时,这一点非常重要!)。在这种情况下,我们认为进行此更改是可以的,因为我们的更改唯一会破坏的代码是已经 "unsafe" 的代码(即缺少此检查,并且在旧主机上具有未定义的行为)。检查会使问题更加暴露,但可以说这比默默吞下错误要好。

无论如何,对于给您带来的不便,我深表歉意,如果您还有其他问题,请随时告诉我们。