Javascript 使用office.js合并excel单元格

Javascript 使用office.js合并excel单元格,javascript,office-js,excel-addins,Javascript,Office Js,Excel Addins,正如问题中所述,我正在尝试使用Office.js API合并一些单元格。我使用VisualStudio创建了一个新的web加载项项目。我将生成的项目保持原样,并添加一个带有单击处理程序的按钮来合并单元格。这里是事件处理程序的代码 function mergingCells() { Excel.run(function (ctx) { var sheet = ctx.workbook.worksheets.getActiveWorksheet(); var range = she

正如问题中所述,我正在尝试使用Office.js API合并一些单元格。我使用VisualStudio创建了一个新的web加载项项目。我将生成的项目保持原样,并添加一个带有单击处理程序的按钮来合并单元格。这里是事件处理程序的代码

function mergingCells() {
   Excel.run(function (ctx) {
   var sheet = ctx.workbook.worksheets.getActiveWorksheet();
   var range = sheet.getRange('A1:D2');
   range.merge(false);
   return ctx.sync().then(function () {
   showNotification('Merging done',
   'Merged range is ' + range.address);
   });
   }).catch(errorHandler);
}
我得到的错误是:


预期结果:

您的代码中有一个错误,没有在
中加载范围地址。然后
。但是如果我在同步之前删除
range.address
,或者调用
range.load(“address”)
,代码就可以工作了

有一件事我想知道:你用的是什么版本的Office?如果您使用的是Office 2016 RTM(不是基于订阅的Office 365),则合并方法可能不可用(它只是RTM附带的
ExcelApi 1.2
,而不是
ExcelApi 1.1

您可以在IntelliSense中查看特定API所属的API集:

有关Office版本/口味的更多信息,请参阅

有关Office JS版本控制和需求集的更多信息,请参阅


遗憾的是,Office 2016的RTM版本没有区分API不可用和其他一些错误;因此,它们都被认为是无效的论证(但不适用于以后的版本)。

您的代码中有一个错误,没有在
中加载范围地址。然后
。但是如果我在同步之前删除
range.address
,或者调用
range.load(“address”)
,代码就可以工作了

有一件事我想知道:你用的是什么版本的Office?如果您使用的是Office 2016 RTM(不是基于订阅的Office 365),则合并方法可能不可用(它只是RTM附带的
ExcelApi 1.2
,而不是
ExcelApi 1.1

您可以在IntelliSense中查看特定API所属的API集:

有关Office版本/口味的更多信息,请参阅

有关Office JS版本控制和需求集的更多信息,请参阅


遗憾的是,Office 2016的RTM版本没有区分API不可用和其他一些错误;因此,它们都被认为是无效的论证(但不适用于以后的版本)。

您能发布一个完整的代码片段吗(我可以建议您这样做吗)?您是否有适当的错误处理来冒充任何问题?(另外,您在B3:D5上设置值,相对于原始范围,这似乎很奇怪--您可以绘制一张您期望结果的图片吗?)我使用visual studio模板,我没有更改任何内容。我只是在html中添加了一个按钮,在Home.js中添加了一个click事件处理程序(在编辑的问题中列出)。下面是脚本实验室的代码片段:您能发布一个完整的代码片段吗(我建议您这样做吗?)?您是否有适当的错误处理来冒充任何问题?(另外,您在B3:D5上设置值,相对于原始范围,这似乎很奇怪--您可以绘制一张您期望结果的图片吗?)我使用visual studio模板,我没有更改任何内容。我只是在html中添加了一个按钮,在Home.js中添加了一个click事件处理程序(在编辑的问题中列出)。现在我很清楚,office 2016的RTM版本不再适用于office.js加载项,我需要转到office 365。感谢您回答我的问题。现在我很清楚,office 2016的RTM版本不再适合office.js加载项,我需要转到office 365。