gpt4 book ai didi

ms-office - JavaScript API不适用于Excel 2013吗?

转载 作者:行者123 更新时间:2023-12-04 22:43:25 25 4
gpt4 key购买 nike

我刚刚收到了我提交的一个加载项的变更建议报告。它说Your add-in is not working in the Excel 2013 client on Windows 7 with Internet Explorer 11.
我一直在用Excel 2016Excel Online测试我的加载项。因此,我只安装了Excel 2013(15.0.4841.1000版本,其中包括SP1),确实该加载项不起作用。但是似乎没有什么工作...

例如,下面的示例函数在haha下的Cell A1中写入Excel Online,而在Excel 2013中则不执行任何操作。

function test () {
Excel.run(function (ctx) {
var range = ctx.workbook.worksheets.getItem("Sheet1").getRange("A1");
range.values = [["haha"]];
return ctx.sync();
});
}

有人知道JavaScript API是否支持 Excel 2013吗?如果没有,很多专业人士将无法使用加载项,因为他们仍然使用 Excel 2013 ...

PS:我看到办公室商店中有很多加载项需要 Excel 2013 or laterExcel 2013 Service Pack 1 or later。如果JavaScript API不支持 Excel 2013,那么如何开发这些加载项(例如 Stock Connector)?

编辑1:在 list XML中:
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">

在我的 Home.html中,我有:
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>

编辑2:我想以下设置等同于说不应在 Excel 2013中使用该加载项?
<Hosts>
<Host Name="Workbook" />
</Hosts>
<Requirements>
<Sets>
<Set Name="ExcelApi" MinVersion="1.2"/>
</Sets>
</Requirements>
<DefaultSettings>
...
</DefaultSettings>

最佳答案

使用Office.js API时,您会看到每个方法都带有一个API集名称。例如:

enter image description here

这些API集对应于外接程序将使用的Office版本。需求集的列表及其支持的位置可以在http://dev.office.com/reference/add-ins/office-add-in-requirement-sets中找到。

任何新的Office 2016主机特定的API集(ExcelApi,WordApi等)仅在Excel 2016+(以及Office Online和Mac/iOS等效版本)上受支持。 API版本号(1.11.21.3)对应于API的更新,这些更新是在Office 2016的RTM版本(现成的1.1附带)之后添加的。那些具有Office 365订阅(家庭或企业)的客户可以使用这些更新。购买Office 2016磁盘/MSI产品的客户将仅具有原始1.1 API。

您可以通过两种方式使用需求集。如果您的加载项100%取决于特定的API集,则应在 list 文件中列出它。这样,对于不支持该特定API集的Office版本,该加载项甚至不会出现在“插入/管理加载项”对话框中。

另一方面,如果您仅使用集合中的几个API,并且可以不这样做(即使这会降低体验),则可以执行“点亮方案”。也就是说,您将列出所需的最低版本,然后使用运行时检查来检测特定的API集是否可用。

具体示例:假设您有一个Excel加载项,它可以创建一个新工作表并将数据输出到表中。这需要ExcelApi 1.1版本或更高版本。理想情况下,您还希望能够设置列宽,但是range.format.columnWidth仅在ExcelApi 1.2中可用。您不想阻止客户使用旧版本的外接程序-毕竟,即使不是最佳状态,您的大部分功能仍可以使用-但您确实想使用新版本蜜蜂。在这种情况下,您应该在 list 中指定ExcelApi 1.1,然后在JavaScript中进行运行时检查,以确定是否可以运行range.format.columnWidth代码。 IE。:

if (Office.context.requirements.isSetSupported("ExcelApi", 1.2 )
{
range.format.columnWidth = 25;
}

有关相关答案,请参见 Neat ways to get environment (i.e. Office version)

关于ms-office - JavaScript API不适用于Excel 2013吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com