使用JavaScript API for Office获取Excel范围

Mir*_* J. 4 javascript excel office365

我正在构建一个Office应用程序(用于桌面Excel),并且正在JavaScript API Office 1.1版中寻找一个函数,该函数将返回用户选择的列和行的地址。结果类似“ A1:C3”。

我尝试过,Office.context.document.getSelectedDataAsync()但这只能让我获得价值。我需要知道他们的地址,以便可以在我的应用程序中显示它。我的代码是这样的:

Office.context.document.getSelectedDataAsync(Office.CoercionType.Matrix, function (asyncResult) {
    console.log(asyncResult.value);
});
Run Code Online (Sandbox Code Playgroud)

asyncResult只让我一个数组值。我在MSDN或Google上找不到任何有用的帮助。任何帮助表示赞赏。

Jay*_*ase 5

这已经很晚了,但我希望该替代方法对使用Excel 2016的人有用。您可以在工作簿上使用getSelectedRange函数获取当前选定的范围,然后加载如下所示的address属性。

Excel.run(function (ctx) {
    var selectedRange = ctx.workbook.getSelectedRange();

    selectedRange.load('address');

    return ctx.sync().then(function () {
        //selectedRange.address is now available to use
    }).catch(function (error) {
        //handle
    });
}).catch(function (error) {
    //handle
});
Run Code Online (Sandbox Code Playgroud)