如何从office.js中的给定Excel命名范围获取地址?

时间:2016-03-01 11:23:59

标签: office365 office-app

我对使用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);
        });

    }

1 个答案:

答案 0 :(得分:0)

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/