使用office.js合并excel单元格

时间:2017-05-23 14:26:32

标签: javascript office-js excel-addins

我正在尝试使用Office.js API合并一些单元格,如问题中所述。我使用visual studio在项目中创建了一个新的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);
}

我得到的错误是:error

预期结果:The expected result

1 个答案:

答案 0 :(得分:0)

代码中未加载.then中的范围地址时出错。但是,如果我删除range.address,或在同步之前调用range.load("address"),则代码可以正常运行。

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

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

IntelliSense

有关Office版本/风格的详细信息,请参阅https://dev.office.com/docs/add-ins/develop/office-versions

有关Office JS版本控制和需求集的详细信息,请参阅https://dev.office.com/docs/add-ins/develop/office-js-versioning

不幸的是,Office 2016的RTM版本没有区分不可用的API和其他一些错误;所以他们都是InvalidArgument(但不是以后的版本)。