我正在尝试使用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);
}
答案 0 :(得分:0)
代码中未加载.then
中的范围地址时出错。但是,如果我删除range.address
,或在同步之前调用range.load("address")
,则代码可以正常运行。
我想知道一件事:您使用的是什么版本的Office?如果您使用的是Office 2016 RTM(不是基于订阅的Office 365),则合并方法可能无法使用(它只是ExcelApi 1.2
的一部分,而不是RTM附带的ExcelApi 1.1
。
您可以在IntelliSense中查看特定API所属的API集:
有关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
(但不是以后的版本)。