我对使用 Javascript API 的 Office 加载项很陌生,目前我正在为 Excel 2013 编码。我想获取给定Excel命名区域的单元格地址。我有以下代码,它将为我提供列和行计数,但没有获取起始列号或行号的选项。请帮忙
function GetRangeAddress() {
Office.context.document.bindings.addFromNamedItemAsync("myRange", "matrix", { id: 'myMatrix' }, function (result) {
if (result.status == 'succeeded') {
write('Columns: ' + result.value.columnCount + ' Rows: ' + result.value.rowCount );
}
else
write('Error: ' + result.error.message);
});
}
Office.context.document.bindings.addFromNamedItemAsync 的返回对象是 Binding 对象。没有方法的属性,我们可以从绑定对象中获取地址。
但是,支持Excel 2016的新版本API,我们可以直接获取名称范围的地址。下面是一个示例供您参考:
function getAddress() {
Excel.run(function (ctx) {
var names = ctx.workbook.names;
var namedItem = names.getItem('MyRange');
var range = namedItem.getRange();
range.load('address')
return ctx.sync().then(function () {
console.log(range.address);
});
}).catch(function (error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
您可以从下面的链接获取有关新 API 的更多详细信息:
https://msdn.microsoft.com/en-us/library/office/mt616490.aspx
如果您对 Office 外接程序有任何反馈,可以尝试从以下链接提交反馈:
https://officespdev.uservoice.com/