-1

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

    }
4

1 回答 1

0

Office.context.document.bindings.addFromNamedItemAsync 的返回对象是 Binding 对象。我们可以从绑定对象中获取地址的方法没有属性。

但是新版本的API支持Excel 2016,我们可以直接获取名称范围的地址。这是一个示例供您参考:

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/

于 2016-03-09T09:05:16.603 回答